我在提交表单的按钮上添加事件时遇到问题,并在提交后停止页面重定向。我找到了其他答案,我尝试添加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无效。
答案 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