我有相应输入字段的onblur
上调用的验证函数。与此同时,我使用一个validateall()
函数调用相同的验证函数,并在validateall()
上调用onsubmit
。
现在问题是如果发生了一些错误并且我已经纠正了它并且在那时提交了表单onblur
正在调用,这阻止了调用onsubmit
事件。
这个问题我只面对Firefox。
的javascript:
function validateFormOnSubmit(theForm)
{
vUsername(theForm.userName,document.getElementById('UError'));//this will return true or false depends on error occurrence.
}
HTML:
<form name="form" onsubmit="return validateFormOnSubmit(this);">
<input type="text" id="userName" onblur="vUsername(this,UError);">
// UError是div id,我将打印错误消息。
答案 0 :(得分:1)
对onBlur使用delay()函数或setTimeOut()函数。
此链接也可以帮助您.. jQuery validation onblur
答案 1 :(得分:0)
为你的onBlur事件添加一个setTimeout函数。要移交参数,您必须使用匿名函数:
<input type="text" id="userName" onblur="setTimeout(function(){ vUsername(this,UError) }, 200);">
现在你的提交事件应该比onBlur更快: - )