Javascript 多次单击提交按钮
我有一个提交按钮,如果填写了所有必填字段,它会重定向到另一个页面Javascript 多次单击提交按钮,javascript,html,Javascript,Html,我有一个提交按钮,如果填写了所有必填字段,它会重定向到另一个页面 <input type="submit" onclick="validateForm();redirect();" class="someClass" value="Submit" /> 将第一个函数调用作为下一个函数调用,并将其添加到HTML中: <input> type=button onclick="validateForm(); return false;" </input>
<input type="submit" onclick="validateForm();redirect();" class="someClass" value="Submit" />
将第一个函数调用作为下一个函数调用,并将其添加到HTML中:
<input> type=button onclick="validateForm(); return false;" </input>
此外,我建议不要在HTML中添加任何代码。这被认为是一种“坏习惯”。但是,如果您仍然希望将代码放在表单中作为“onsubmit”操作更合适:
希望有帮助 添加onclick处理程序,比如说
validateAndRedirect
:
function validateAndRedirect()
{
if(validateForm())
{
redirect();
}
else
{
return false;
}
}
将此添加到按钮:
<input...onclick="validateAndRedirect()" ... >
此函数将调用
validate()
。如果验证失败,将返回false
。此false
将阻止按钮的提交操作。如果验证通过,它将调用redirect
将重定向放在validateForm函数的条件中,而不是内联。如果您不希望在验证后发生默认提交,我会将其更改为onlick=“validateForm();return false;”“
。谢谢您捕捉到这一点+1用于更新函数
名称,以描述函数
的功能。如果我调用了名为validate()
的函数
,我希望它返回bool,而不会导致重定向发生。
<input> type=button onclick="validateForm(); return false;" </input>
function validateForm(){
var email = document.forms["form"]["Email"].value;
if(email == null || email == ""){
alert("Email must be filled out");
return false;
} else
redirect();
}
<form onsubmit="validateForm()">
var button = document.getElementById("submit");
button.onclick = function validateForm() { /*same code as above..*/ };
function validateAndRedirect()
{
if(validateForm())
{
redirect();
}
else
{
return false;
}
}
<input...onclick="validateAndRedirect()" ... >