如何在提交时抛出错误允许表单POST

时间:2016-09-10 21:58:17

标签: javascript jquery html ruby-on-rails post

我有一个多步骤表单,它逐步使用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
}

1 个答案:

答案 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
  }
}