1

このフォームには 2 つのラジオ ボタンがあります。任意のラジオ ボタン (本または非本) を選択すると、その値が非表示のフォーム フィールドに送信されます。つまり、本を選択すると、非表示のフィールドの値は 1 になり、本以外の非表示を選択すると、非表示のフィールドの値が 1 になります。フィールド値は2でなければなりません.jqueryを使用するか、jspを動的に使用してこれを行うにはどうすればよいですか

1. 2 つのフォームを別々の div タグに保持し、それぞれに非表示のフォーム フィールドを保持する前に、本を選択すると非表示の値 1 でフォームが送信されますが、非本を選択すると null 値が送信されました。

  1. 実際、本のフォームと非本のフォームでは、ほとんどすべてのフィールドが同じですが、非表示の値のみが異なります (ユーザーが本を選択したか非本を選択したかを知るため)。 (上記のフォームでは、単純にするために非常に多くのフィールドが削除されています。このコードのロジックが間違っている場合は申し訳ありません)
    これは私のコードです

    <script type="text/javascript" src="jquery-1.8.2.min.js"></script>
    <script type="text/javascript">
    
    $(function() {
    
    $("[name=toggler]").click(function(){
            $('.toHide').hide();
            $("#blk-"+$(this).val()).show('slow');
            $('input[name=hiddenInput]').val(theValue);
      });
     });
    
    
     </script>
    </head>
    <body>
    
    
    
     <label><input id="rdb1" type="radio" name="toggler" value="1" />Book</label>
     <label><input id="rdb2" type="radio" name="toggler" value="2" />Non-Book</label>
    
    
    
    
     <div id="blk-1" class="toHide" style="display:none">
    
    <form action="Sample">
    
            <input type="hidden" value="" name="hiddenInput" />
    
             Enter Item Name:<input type="text" name="name">
                       <input type="submit" name="submit">
    
    </form>
    
    </div>
    

    前もって感謝します...!

4

3 に答える 3

2

これがあなたに役立つことを願っています:

http://jsfiddle.net/9BrFs/

$(document).ready(function(){
   $('#rdb1').click(function(){
      $('#hdn').val('1');
   });

   $('#rdb2').click(function(){
      $('#hdn').val('2');
   });

   // ONLY to test the hidden value
   $(':submit').click(function(){
     alert($('#hdn').val());
     return false;
   });
});
于 2013-07-10T10:33:33.953 に答える
1

両方のラジオ ボタンに同じクラス名を付け、隠しフィールドに id を付けます

 <script type="text/javascript">

   $(document).ready(function() {

     $(".toggle").click(function(){
       $('.toHide').hide();
       var text = $(this).val();
       $('#hdnfield').val(text);
    });
  });
 </script>
于 2013-07-10T10:29:00.033 に答える
0

隠し要素のIDを設定してから、次のコードを使用できます:

$("[name=toggler]").click(function(){
        var theValue = jQuery(this).val();
         // Here 'radio_elem' is the ID of hidden element
         $('#radio_elem').val(theValue);
});
$(':submit').click(function(){
    console.log( $('#radio_elem').val());    

});

これがjsフィドルです:http://jsfiddle.net/XVVmE/

于 2013-07-10T10:50:22.087 に答える