如果条件不合格,则取消提交表单

时间:2019-12-05 18:25:45

标签: javascript php

如果我的表单中未选中任何复选框,我想禁用“提交”按钮。但是,我的功能无法正常工作,并且始终允许使用“提交”按钮来打开下一页。

function test(){

var b = false;
var inputs = document.getElementsByTagName('input');

  for(var i = 0; i < inputs.length; i++) {

        if (inputs[i].checked == true){
        return true; 
   }  
 }

     return false;
}

表格

form name='checkBoxForm' action ='book.php' method='post' onsubmit='return test(this)

复选框-注意javatest是另一个工作功能。

input type='checkbox' id =\"$id\" name='check_list[]' value=\"$seat\" onclick='javatest(this)

1 个答案:

答案 0 :(得分:-1)

之所以发生这种情况,是因为您没有停止“提交”按钮的默认操作。您需要将preventDefault()javascript函数用作验证函数的第一行,以停止默认的提交行为。下面是测试的编辑版本:

function test(event){
event.preventDefault()
var b = false;
var inputs = document.getElementsByTagName('input');
....

此外,要提交表单(即,当您找到至少1个选中的复选框时),您将需要使用form.submit事件,如下所示:

document.getElementByTagName("checkBoxForm").submit();

希望这可以解决问题。