我有一个多步骤表单,它逐步使用POST请求将状态传递给每个控制器操作。
新>预览>结帐>创建
预览和结帐是POST请求不会影响数据库,因此表单重新提交完全没问题。
我期待:
1.防止默认提交以运行一些javascript验证
2.验证后提交表单并允许来回浏览器
在收听提交事件时,我尝试过e.preventDefault(),然后是e.submit(),但是,这不允许在使用浏览器按钮时重新提交表单。
但是,如果抛出错误,表单会提交并允许使用浏览器来回按钮。
如何在不抛出错误的情况下获得此功能?
$('#new_post').on("submit", function(e) {
throw new Error();
// this allows for form submission and back and forth button functionality
}
答案 0 :(得分:1)
只需使用preventDefault()方法
的 HTML 强>
<form name="form" onsubmit="validate();">
<强>脚本强>
function validate()
{
if (!validation) { // If the form is not correct
event.preventDefault();
} else {
// Submit the form
}
}