22

選択したアイテムの値を属性 (stud_name) の値と共に送信したいと考えています。そうするためのPHPの機能はありますか?

これがその例です。

<form name="add">
    Age: 

    <select name="age">
         <option value="1" stud_name="sre">23</option>
         <option value="2" stud_name="sam">24</option>
         <option value="5" stud_name="john">25</option>
     </select>

    <input type="submit" name="submit">

</form>
4

5 に答える 5

37
<form name="add" method="post">
     <p>Age:</p>
     <select name="age">
        <option value="1_sre">23</option>
        <option value="2_sam">24</option>
        <option value="5_john">25</option>
     </select>
     <input type="submit" name="submit"/>
</form>

選択した値が に表示され$_POST['age']ます1_sre。次に、値を分割して を取得できます'stud_name'

$stud = explode("_",$_POST['age']);
$stud_id = $stud[0];
$stud_name = $stud[1];
于 2013-01-29T08:43:54.907 に答える
7

JQueryでこれを行うことができます

単に:

   <form name='add'>
   Age: <select id="age" name='age'>
   <option value='1' stud_name='sre'>23</option>
   <option value='2' stud_name='sam'>24</option>
   <option value='5' stud_name='john'>25</option>
   </select>
   <input type='hidden' id="name" name="name" value=""/>
   <input type='submit' name='submit'/>
   </form>

このコードをヘッダー セクションに追加します。

<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>

今JQuery関数

<script type="text/javascript" language="javascript">
$(function() {
      $("#age").change(function(){
      var studentNmae= $('option:selected', this).attr('stud_name');
      $('#name').val(studentNmae);
   });
});
</script>

両方の値を次のように使用できます

$name = $_POST['name'];
$value = $_POST['age'];
于 2013-01-29T09:24:06.153 に答える
1

JavaScript を使用する必要があります。ブラウザは、選択されたオプションのみを送信しvalueます (したがって、PHP のせいではありません)。

JS がすべきことは、フォームの送信イベントにフックし、選択したオプションの値の値を持つ隠しフィールドを作成することstud_nameです。この隠しフィールドはサーバーに送信されます。

そうは言っても、正しいデータを提供するためにクライアントを中継するべきではありません。stud_nameサーバー上の特定の値がどうあるべきかはすでにわかっています(出力しているため)。したがって、フォームを処理するときに同じロジックを適用するだけです。

于 2013-01-29T08:36:34.717 に答える
0

値と 1_sre などの std_name を組み合わせて、php に取得するときに値を分割するだけです。Javascript は、ナットを割るためのハンマーのように思えます。注: このメソッドは、html を編集できることを前提としています。html は次のようになります。

<form name='add'>
Age: <select name='age'>
     <option value='1_sre'>23</option>
     <option value='2_sam>24</option>
     <option value='5_john>25</option>
     </select>
<input type='submit' name='submit'/>
</form>
于 2013-01-29T08:42:57.350 に答える
0

jquery関数を使用できます。

<form name='add'>
   <input type='text' name='stud_name' id="stud_name" value=""/>
   Age: <select name='age' id="age">
   <option value='1' stud_name='sre'>23</option>
   <option value='2' stud_name='sam'>24</option>
   <option value='5' stud_name='john'>25</option>
   </select>
   <input type='submit' name='submit'/>
</form>

jqueryコード:

<script type="text/javascript" src="jquery.js"></script>

<script>
    $(function() {
          $("#age").change(function(){
          var option = $('option:selected', this).attr('stud_name');
          $('#stud_name').val(option);
       });
    });
</script>
于 2013-01-29T08:43:19.573 に答える