php - OnBlur 导致提交按钮被单击两次

标签 php javascript validation submit onblur

我有一个通过ajax 进行客户端js 验证的表单。 它是一个简单的发送电子邮件(联系)表单,包含 3 个字段:姓名、电子邮件和消息。如果您尝试在没有正确验证的情况下单击“提交”,错误消息 div 将变得可见。这 3 个输入中的每一个都通过 onblur 调用 js 函数。如果我尝试输入正确的输入然后单击提交一次,它不起作用。点击第二次就可以了。

原因是我需要从该字段中移开焦点,以便 onblur 验证函数处理然后提交。这看起来应该是一个常见问题。提交调用一个 php 脚本,该脚本进行 ajax 调用来验证 3 个字段,如果正确,则提交电子邮件,同时显示“成功”消息。

知道我应该如何停止这个双击提交按钮吗?

我没有提供代码,因为我认为这会使代码太长,但是为了帮助..如果不好,这 3 个字段返回 false,如果好,则返回 true,然后 php 脚本仅检查其中 2 个字段是否为空,并且电子邮件字段如果通过正则表达式格式正确。如果是这样,则使用邮件功能,然后在 div 中打印“成功”。

最佳答案

我认为您别无选择,只能(当单击提交时)标记单击了提交,然后在验证器回调中,如果所有内容都有效,请检查标记(如果已设置),然后提交表单。

document.formname.submit();

关于php - OnBlur 导致提交按钮被单击两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18008487/

相关文章:

php - 如何仅在特定页面中 bundle.min.css(在我的例子中是 contact.php)

php - 在 PHP 中使用准备好的语句和 SQL 中的 IN 函数

如果我改变位置,Javascript标签不会运行

java - 如何验证非必需的 RequestParam 不为空?

javascript - .NET 客户端 requiredFIeldValidator 与 Bootstrap "has-error"类

php - 将带有属性的 XML 导入 mysql

php - PayPal - 使用 php 付款后

javascript - 如何在 JavaScript 中从子弹出窗口在父窗口中显示警报?

javascript - 错误选择包含类的 div

jquery - 如何启用/禁用 HTML5 必填字段验证?