1
我的代码依赖onBlur来验证用户标识,但是如果用户只是键入用户,然后直接点击提交按钮,onBlur事件不会触发。OnClick事件正在绕过onurl事件
<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
那么,您需要将您的代码流更改为'assetsSaveButton.on('click',function ...)',使用'ep reventDefault()'并在该位置验证,然后手动提交。 – Davion 2015-03-02 11:15:24
我无法重现该问题:http://jsbin.com/fewatutuve/1/edit?html,output – Quentin 2015-03-02 11:16:08
我在代码中添加了警报,并尝试再次运行它,将很快发布结果。 – 2015-03-02 11:32:43