gpt4 book ai didi

javascript - OnClick 事件绕过 onBlur 事件

转载 作者:行者123 更新时间:2023-11-30 10:06:34 34 4
gpt4 key购买 nike

我的代码依赖于 onBlur 来验证用户 ID,但是如果用户只是输入用户然后直接点击提交按钮,则不会触发 onBlur 事件。

<td><input type='text' name="USERID" onBlur="doValidateUserID(this)"></td>
<td><input type="button" name="assetSaveButton" value="Save" onClick="doSomeStuff(this)"></td>

下面是伪ajax调用

function doValidateUserID(userID) { 
// ajax call goes here
}

我的问题是,在用户输入值并单击提交按钮后,doValidateUserID 甚至没有被调用。我尝试使用 onChange 而不是 onBlur 但没有成功。

编辑:显然,添加警报已经改变了事件的行为,现在单击保存按钮时,调用了 doValidateUserID,但完全跳过了 doSomeStuff。我必须再点击一次才能调用 doSomeStuff

最佳答案

onblur 将始终在单击之前调用,但由于您在处理程序内部进行了 ajax 调用,ajax 结果调用将始终在单击事件之后运行,因为它是非阻塞的(除非您将其设置为同步,我会反对)

我会建议阻止提交按钮直到 ajax 完成或推迟提交直到验证完成

希望这有帮助:)

关于javascript - OnClick 事件绕过 onBlur 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808350/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com