【发布时间】:2013-08-03 05:28:12
【问题描述】:
我有一个通过 ajax 进行客户端 js 验证的表单。 它是一个简单的发送电子邮件(联系人)表单,包含 3 个字段:姓名、电子邮件和消息。如果您尝试在未经过适当验证的情况下单击提交,则会显示错误消息 div。这 3 个输入中的每一个都通过 onblur 调用 js 函数。如果我尝试输入正确的输入然后单击提交一次,它不起作用。再次单击它就可以了。
为什么我需要从该字段中取消焦点,以便 onblur 验证函数处理它提交的 THEN。这似乎应该是一个普遍的问题。 Submit 调用一个 php 脚本,该脚本进行 ajax 调用以验证 3 个字段,如果正确,则在显示“成功”消息的同时提交电子邮件。
知道我应该如何停止这个双击提交按钮吗?
我没有提供代码,因为我认为它会使这太长,但是寻求帮助.. 3 个字段如果不好则返回 false,如果好则返回 true,然后 php 脚本只会检查其中的 2 个字段是否为空并且电子邮件字段(如果通过正则表达式正确格式化)。然后如果是,则使用邮件功能,然后在 div 中打印“成功”。
【问题讨论】:
-
为什么不对
submit本身执行客户端验证,如果您想在用户以生动的方式输入输入时显示错误消息(来自客户端验证),最好在@ 987654323@ 而不是onblur -
我不知道,因为我没有代码。顺便说一句,欢迎来到 SO。您会注意到,在这里成千上万的问题中,大多数都发布了他们的代码。没有它,再加上一点盐,我们就不能煮出一条值得拯救我们生命的好面包,好吧,我的。哦,还有Read this first,如果你还没有,这是一本好书!
-
感谢您的回答和阅读材料。通常我会发布代码,但我认为在一个非常简单的表单中显示调用函数的输入标签太基本了,并且 onblur 返回布尔值。我将尝试一些我刚刚提出的想法......
标签: php javascript validation submit onblur