2

フォームから取得したデータをコントローラーに投稿しようとしています。ここに私のフォームがあります:

<div id="time_registration" class="toogle_form" diplay="none">
<form id="hourForm" name="hourForm"  >
//first part of the form -----

// 2 番目の部分:

    <div id="hoursDetails" class="toogle_form" style="display:none"> 
        <table border=0>
                        <?php
                           for ($i=0 ; $i<3; $i++){
                   echo '<tr>
                      <td><div id="date'.$i.'" name="date'.$i.'" ></div></td>   
                      <input type=hidden id="date'.$i.'" name="date'.$i.'" value=""/>

                      <td>
                      <input type=text name="action'.$i.'"  placeholder="Votre action" value=""/>
                      <input type="text" name="temps'.$i.'"  placeholder="nombre heures" value=""/>
                      </td>
                  </tr> ';}
                echo '  <input type=hidden id="dateTest" name="dateTest" value=""/>  '; // just to test  
                  ?>
                  </table>
    </div> 
  </form>
</div>

Firebug は、date0、date1、および date2 が空であることを示していますが、dateTest は空ではありません。

変数を設定する方法は次のとおりです( js 関数)

         for (var i = 0; i < 3; i++) {

              $('#date'+i).html('myVariable');
              $('#date'+i).val('myVariable');
                 }
              $('#dateTest').val('dateTest');

そして、データをコントローラーに投稿する方法は次のとおりです。

function insert_hour() {
         var form_values= $('#hourForm').serialize();
         alert($('#date0').val());// prints the correct value also for date1 and date2

         $.ajax({
            type:'POST',
                url : '<?php echo site_url()."/path/to/controller/"; ?>',
            data : form_values,

            success:function(data)
                {   alert(' ajax_call ok ');
                }

            });     


}
4

1 に答える 1

0

私はあなたがここで間違っていると思います

<div id="date'.$i.'" name="date'.$i.'" >

      and

<input type=hidden id="date'.$i.'" name="date'.$i.'" value=""/>

この場合$('#date'+i).html('myVariable'); Will not work

同じ ID を使用しています。ID は一意である必要があります。

于 2012-10-12T15:04:49.750 に答える