.submit和return false在我的表单上不起作用

时间:2017-06-21 15:11:16

标签: javascript html forms

我在提交表单的按钮上添加事件时遇到问题,并在提交后停止页面重定向。我找到了其他答案,我尝试添加return false和preventDefault,但两者都没有工作。

为什么这不起作用?

function submitform() {
        document.getElementById("form").submit( function () {
            return false;
        });
    }

我将点击事件添加到按钮

<button id="button" onclick="submitform();">Submit Form</button

Here is an example显示javascript无效。

2 个答案:

答案 0 :(得分:0)

当没有其他事件时,您正在调用正在侦听正在提交的表单的函数。基本上你正在听一个永远不会发生的事件。

由于事件发生在按钮上,因此无需在提供的小提琴中调用提交功能。

我为电子邮件地址添加了一个快速空的测试,以显示该过程。

修订后的笔:https://codepen.io/anon/pen/dRRbyw

HTML

<button id="button" onclick="submitform();">Submit Form</button>
<br /><br />
<form id="form" method="post" action="https://submit.jotform.us/submit/71714528616156/">
  Email
  <input type="text" name="EMAIL" id="EMAIL" label="Email" value="">

JS

function submitform() {
    if(document.getElementById("EMAIL").value == "")    {    
          alert('nope');
          return false;
       } else {
    alert('yep');
    document.getElementById("form").submit();
  }
}

如果您需要更多解释,请与我们联系。

答案 1 :(得分:-1)

您可以使用ajax处理表单提交,而无需重定向页面。您将需要使用jquery来实现此解决方案:

$(function() {
    $('form').submit(function() {
        $.ajax({
            type: 'POST',
            url: 'submit.php',
            data: { EMAIL: $(this).name.value }
        });
        return false;
    }); 
})

非常相似的问题/答案:Prevent redirect after form is submitted