【发布时间】:2015-01-09 07:20:39
【问题描述】:
我有一个表单,大部分输入字段都使用onblur,如下所示:
<form>
<input name="..." id="..." onblur="myFunction(name)" />
<button id="..." onclick="submit()">Submit</button>
</form>
表单通过onblur 事件实时验证某些字段(即用户名、电子邮件),但当用户单击提交按钮时会发生相同的检查。
目前,当用户单击提交按钮时,首先触发onblur 事件,然后触发来自按钮的onclick 事件 - 因此运行检查两次并浪费了几秒钟的额外时间。
有没有办法覆盖onblur 方法来排除用户按下提交按钮时发生的模糊?
我在想myFunction() 中的一个简单的if(/*button is clicked*/){},但我不知道如何检查按钮点击。而且,根据目前的表现,按钮点击似乎直到模糊之后才被注册。
提前致谢。
【问题讨论】:
-
“浪费了几秒钟” - 你在
myFunction()中做什么,以 秒 为单位? -
Ajax 调用做数据库检查用户名可用性。也许不是几秒钟,但足够的时间让我感到困扰。进行验证时,会出现一个风车。按下提交按钮时会出现相同的风车。所以用户看到:风车->输入确认(非常简短)->风车->重复输入确认。它只是看起来丑陋和故障。
标签: javascript jquery forms onclick onblur