在验证失败时停止重新加载页面

时间:2016-12-21 05:33:03

标签: javascript jquery wordpress form-submit

我目前正在进行javascript验证,因此如果没有选中至少一个复选框,则不会对该表单进行汇总。它会向用户发送一条消息,以确保选择至少一个用户。

我现在要做的是阻止表单执行任何其他操作,在我单击提交按钮后似乎重新加载页面,如果它没有这样做会更好。

我目前的代码如下:

形式:

 <form name="frm_multi_message_form" id="multi_message_form" style="margin-bottom: 0px;"  method="post"><button style="border-style: none; margin: 5px 0 5px 0;" type="submit" action="" onClick="checkForm(this);"  >Message multiple sitters</button>
    </form>

我的Javascript:

  function checkForm(form)
      {

    if (document.querySelector('form[id="multi_message_form"] input[name="username[]"]:checked')) {
            document.frm_multi_message_form.action = "http://example.com/another-page/";
            document.frm_multi_message_form.submit();
        } else {
            alert("You must select at least one sitter to message");

        }
    return false;
      }

我没有抛出警告的问题,表单提交,我想知道如何启动preventDefault(或者这是不允许在javascript查询中?) ,除了显示的错误之外什么也没发生。

3 个答案:

答案 0 :(得分:1)

您应该使用onClick="return checkForm(this);",如果验证错误,您的表单将无法提交

答案 1 :(得分:0)

您需要在表单提交上使用事件处理程序来阻止默认行为(提交):

document.getElementById('multi_message_form').addEventListener('submit', function(evt) {
    evt.preventDefault();
})

答案 2 :(得分:0)

在验证后使用“return false”,如

$("#formId").submit(function()
{
  if(someField == "")
   {
     $("#divId").text();
      return false;
   }
}