无法通过ajax调用发布数据

时间:2012-10-12 14:58:19

标签: php javascript jquery ajax forms

我正在尝试向控制器发布一些从表单中检索的数据。这是我的表格:

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

//第二部分:

    <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 ');
                }

            });     


}

1 个答案:

答案 0 :(得分: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必须是唯一的。