复选框验证错误

时间:2015-02-04 10:33:19

标签: javascript

我使用下面的代码验证复选框

if(!validateForm())
    {
        alert("Please select intrested in required service");  
        return false;
    }
    return true;

}


function validateForm()
{
  var c = document.getElementsByTagName('input');
  for (var i = 0; i < c.length; i++)
  {
    if (c[i].type == 'checkbox')
    {
       if (c[i].checked) {return true}document.myForm.action="thankyou-enquiry-hrservice.php"  ;
    }
  }
  return false;
}

我有大约5个复选框。如果只检查1那么它将转到thankyou-inquiry-hrservice.php。如果我选中多个复选框,则不会重定向到该页面,而是刷新网站中空白字段的当前页面。

1 个答案:

答案 0 :(得分:0)

当你这样做时:

if (c[i].checked) {return true}document.myForm.action="thankyou-enquiry-hrservice.php"

在第一次检查时,该函数将返回true,并且:

document.myForm.action="thankyou-enquiry-hrservice.php"

部分不会被执行。

至于1检查tem发送到你想要的页面,我敢打赌,这不是你选择的第一个chechbox。因此,当至少评估为假一次时,它会将您发送到您想去的地方。

根据要求,快速修复可能是:

function validateForm()
{
  var answer = false;
  var c = document.getElementsByTagName('input');
  for (var i = 0; i < c.length; i++)
  {
    if (c[i].type == 'checkbox')
    {
       if (c[i].checked) {
           answer = true; 
           document.myForm.action="thankyou-enquiry-hrservice.php";
       }
    }
  }
  return answer;

}

但是在不知道您对此代码的任何其他意图的情况下,我无法做任何其他事情。