javascript - 如何处理使用 JQuery 提交的表单
问题描述
我有一个多步骤表格。在将其提交给 PHP 之前,我正在使用 Javascript 验证每个步骤。
如果表单的最后一步通过了验证测试。我正在提交表格。像这样
$(UISelectors.addListForm)[0].submit();
我想使用 Javascript 处理表单提交并使用 Ajax 将其提交给 PHP。但是,页面会刷新。
const addListingSubmit = (e) => {
e.preventDefault();
// ...
};
$(UISelectors.addListForm).submit(addListingSubmit);
有什么建议么?
解决方案
提交时,HTML 表单本机调用定义的 url(您的问题中缺少代码),因此将离开当前页面。为避免这种行为,请改用单击处理程序(在表单的提交按钮上),并在其中使用表单的值进行 ajax 调用:
const onClick = e => {
// get values from the form
const foo = $("#foo-field").val();
// etc.
// do AJAX call
$.post(...)
};
$('#my-button').click(onClick);
这样,表单的提交事件就不会被触发。
推荐阅读
- laravel-dusk - 如何测试是否显示浏览器工具提示?
- android - 如何使用导航架构组件在动态功能模块中的片段的发布版本中修复 ClassNotFoundException?
- go - golang中如何释放websocket和redis网关服务器资源?
- python-3.x - 如何从多索引 Pandas 数据框中过滤值
- typescript - 基于Generic类型的条件方法参数
- android - 将指纹扫描仪/zk9500/连接到平板电脑时,不询问权限
- php - 如何使用codeigniter将数据上传到数据库
- kubernetes - 如何将 Talend Job2Docker 作业自动化到 Kubernetes
- c# - WPF Datagrid 不显示文本
- java - 有什么方法可以分块而不是完整地划分和运行 testng 测试