-1

HTML および JavaScript で作成しようとしているフォームに問題があります。

まず、複数のチェックボックスが必要です

1 つがチェックされている場合、onsubmit ユーザーは 1 つの URL に移動します

2 つのボックスがチェックされている場合、onsubmit ユーザーは別の 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:
    }

編集:わかりました。バレンティンにクレジットを与える必要があるので、ソリューションを組み合わせましょう。

    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

onCheckチェックボックスとonUnCheckチェックボックスを利用して、フォームのアクション属性をユーザーが取得するページに変更することができると思います。

したがって、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 に答える