Onblur在提交表单时阻止提交

时间:2013-02-07 10:48:59

标签: javascript html validation

我有相应输入字段的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,我将打印错误消息。

2 个答案:

答案 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更快: - )