Javascript,一个复选框已选中= location.html,已选中2复选框=另一个location.html

时间:2012-12-06 14:16:18

标签: javascript jquery

我在使用html和javascript

创建的表单时出现问题

首先我想要多个复选框

如果选中一个,则在提交用户被带到一个网址

如果选中了两个框,则提交用户被带到另一个URL等。

这是可能的,如果是这样,javascript或jquery会是什么????????

2 个答案:

答案 0 :(得分:0)

有些代码会很好,因为我不知道您使用什么机制来提交表单,但解决方案很可能会涉及到这样的内容:

   switch ($('form input:checkbox:checked').length) 
    {
    case 1:
    window.location.href = url1;
    break;
    case 2:
    window.location.href = url2;
    break;
    //etc
    default:
    }

编辑:好的,我必须给Valentin一些功劳,让我们结合解决方案。

    var $myForm = document.getElementById('myForm');

    $('#myForm input:checkbox').on('change', function(event){
        switch ($('#myForm input:checkbox:checked').length) 
        {
        case 1:
        $myForm.action = url1;
        break;
        case 2:
        $myForm.action = url2;
        break;
        //etc
        default:
        }
    });

答案 1 :(得分:0)

我说你可以使用复选框的onCheckonUnCheck,并让他们将表单的action-attribute修改为用户应该采取的任何页面。

所以你的HTML可能是:

<form method="post" action="whateverpage.php" id="myform">
<input type="checkbox" id="check0"/>
<input type="checkbox" id="check1"/> 
<input type="submit" value="Submit" /> 
</form>

你的javascript:

yourform=document.getElementById("myform");
checkbox0=document.getElementById("check0");
checkbox1=document.getElementById("check1");

checkbox0.onCheck=function(){
  if(checkbox1.checked==true){
    yourform.action="bothchecked.php";
  }else{
    yourform.action="firstchecked.php";
  }
}
checkbox1.onCheck=function(){
  if(checkbox0.checked==true){
    yourform.action="bothchecked.php";
  }else{
    yourform.action="secondchecked.php";
  }
}
checkbox1.onUnCheck=function(){
  if(checkbox0.checked==true){
    yourform.action="firstchecked.php";
  }else{
    yourform.action="nonechecked.php";
  }
}
checkbox0.onUnCheck=function(){
  if(checkbox1.checked==true){
    yourform.action="secondchecked.php";
  }else{
    yourform.action="nonechecked.php";
  }
}

当然,您可以选择使用yourform.setAttribute("action","page.php");