-1

我尝试在 html 和 javascript 中创建的表单有问题

首先我想有多个复选框

如果选中一项,则在提交时将用户带到一个 url

如果选中两个框,则在提交时将用户带到另一个 url 等。

这可能吗?如果可以,javascript 或 jquery 会是什么??????

4

2 回答 2

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:
        }
    });
于 2012-12-06T14:29:46.263 回答
0

我会说您可以使用onCheckonUnCheck复选框,并让他们将表单的操作属性修改为用户应该进入的任何页面。

所以你的 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");替代使用。

于 2012-12-06T14:30:52.443 回答