php - php jquery ajax 用于表单验证但不用于提交
问题描述
考虑以下非常基本的形式:
<form action="action_page.php" method="post">
<input type="text" id="fname" name="fname"><br><br>
<input type="text" id="lname" name="lname"><br><br>
<input type="submit" value="Submit">
</form>
我知道如何使用 jquery ajax 验证和提交此表单。我的问题:无论如何我可以先使用 ajax 验证表单,然后再以常规方式提交到操作 php 文件?
我的意思是这两个过程应该是提交操作的结果。即调用的脚本应该首先验证,当一切正常时,然后将页面提交到表单操作属性中的文件或我指定的任何 url。否则它会停止表单提交并返回错误消息。
谢谢
解决方案
这个小代码工作正常。如果您的 ajax 调用正常,则提交表单。是这个问题吗?
更新您的表单(注释类型按钮代替类型提交)
<form name="action" id="action" action="action_page.php" method="post">
<input type="text" id="fname" name="fname"><br><br>
<input type="text" id="lname" name="lname"><br><br>
<input type="button" id="submit_button" value="Submit">
</form>
还有你的js
$('#submit_button').on('click', function(e) {
// Do your ajax call
$.ajax({
url:'myurl.php',
type:'GET',
success: function(data) {
$('form').submit();// Finally submit
},
error: function(xhr, status, error) {
alert('Ajax error');
}
});
});
推荐阅读
- java - SPNEGO 身份验证可从自定义 Java 客户端运行,但不能从 Web 浏览器运行
- python - SyntaxError: 错误的输入 ('def')
- javascript - 尝试使用 Python/Javascript/cURL 通过 API 下载 >3GB 文件
- java - 以编程方式在 TextView 中设置文本的正确方法
- r - 使用R中的正则表达式(grepl函数)从数据中的列中提取多个所需模式的正确方法是什么
- python - 获取命名元组中具有最小值的python字典项
- php - 如何使用 PHP 提取多部分 zip 文件?
- typescript - TypeScript 泛型 column.id 应该在 row[key] 内
- ruby-on-rails - Rails:如何为 Heroku 配置 database.yml?
- node.js - 在与 ejs 和节点 js 的会话中存储变量