我有一个表单,我试图阻止用户使用javascript进行双重提交。出于某种原因,即使处理函数返回false并且调用了event.preventDefault,表单仍将提交多次。谁知道为什么?另外,我如何按预期工作?
document.getElementById('my_form').addEventListener("submit", function(evt){
if ( validationFunction(document.getElementById('submit_button')) == false) {
evt.preventDefault();
return false;
}
});
功能 validationFunction(){ 返回false }
<form method="post" id="my_form">
<input name='textbox'>
<input type="submit" id="submit_button">
</form>
答案 0 :(得分:1)
以简单的方式尝试。喜欢这个
HTML
<form id="my_form">
<input name='textbox'>
<input type="button" id="submit_btn">
</form>
JS
document.getElementById("submit_btn").addEventListener("click", function(){
document.getElementById("my_form").submit(); // if validation is true run this
});
答案 1 :(得分:1)
document.getElementById('my_form').addEventListener("submit", function(evt){
if ( validationFunction(document.getElementById('submit_button')) == false) {
// anything here
evt.preventDefault();
return false;
}
// anything here
event.preventDefault();
});