2017-07-29 104 views
-1

我试图通过关于user_question和语言输入字段的ajax发送信息,但是如何在ajax javascript中正确写入这个元素来保存数据库中的表元素值。ajax,php如何正确保存数据

谢谢。

脚本元素。

<table id="myTable" class="table table-sm table-hover order-list"> 
     <thead> 
      <tr> 
       <td>User Question</td> 
       <td>Language</td> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td class="col-md-9">' . HTML::inputField('user_question', null, 'placeholder="Write a short answer"'). '</td> 
       <td class="col-md-2">' . HTML::inputField('language', null, 'placeholder="Language"') . '</td> 
       <td class="col-sm-1"><a id="delete_row" class="deleteRow"></a></td> 
      </tr> 
     </tbody> 
     <tfoot> 
      <tr> 
      <td colspan="5"> 
       <input type="button" class="btn btn-lg btn-block " id="addrow" value="Add Row" /> 
      </td> 
      </tr> 
      <tr></tr> 
     </tfoot> 
    </table> 

<script> 
$(document).ready(function() { 
    var counter = 0; 

    $("#addrow").on("click", function() { 
     var newRow = $("<tr>"); 
     var cols = ""; 

     cols += '<td><input type="text" class="form-control" name="user_question' + counter + '"/></td>'; 
     cols += '<td><input type="text" class="form-control" name="language' + counter + '"/></td>'; 

     cols += '<td><input type="button" class="ibtnDel btn btn-md btn-danger " value="Delete"></td>'; 
     newRow.append(cols); 
     $("table.order-list").append(newRow); 
     counter++; 

    // element pb    
    // var data = $("#new_product").serialize(); // form id or table id ? 

    var dataString = 'user_question='+user_question+'language='+language; 

    $.ajax({ 
     type: 'POST', 
     url: '{$ajax_url}', 
     data : dataString, 
     success: function(data) { 
      alert(data); 
      $("p").text(data); 

     } 
    }); 

    $("table.order-list").on("click", ".ibtnDel", function (event) { 
     $(this).closest("tr").remove();  
     counter -= 1 
    }); 

}); 

</script> 
+0

如果你有多个输入使用相同的名称,您需要将它们命名为'name =“user_question []”'和'name =“language []”',以便PHP获取所有输入的数组。 – Barmar

+0

好吧,我尝试'cols + ='​​'; '和'var dataString =“user_question [] =”+ user_question;'结果是:'array(1){ [“user_question”] => array(1){ [0] => string(25)“[object HTMLInputElement]” }' – maegeri

回答

0

使用这样让PHP变量值中的JavaScript在PHP页面

url: "<?php echo $ajax_url; ?>", 

还可以使用&和符号中添加两个或多个参数param您dataString