【问题标题】:Post php form jquery ajax发布 php 表单 jquery ajax
【发布时间】:2016-12-14 05:29:18
【问题描述】:

我的表单带有从循环生成的输入字段,即

<form name="" method='post' action=''>
<?php
for($i=0;$i<10;$i++){
 echo "<input type='text' name='data[]' class='data_cls' value='".$i."'>";
}
?>
<input type='submit' id='btn' value='save'>

我想使用 jquery ajax 提交表单。

$('.btn').click(function(){

            var datString = "HOW TO GET THESE VALUES";

            $.ajax({
            url: "data_process.php",
            type: "post",
            data: dataString,
            success: function(data) {
                alert('OK');
            }
        }); 

    });

【问题讨论】:

  • 使用serialize()。然后在您的$.ajax 电话中:data: $('form').serialize();
  • 做到这一点的最佳方法实际上取决于您想要的结果。
  • @Jasiralwafaa check ma ans,我还添加了如何在 PHP 页面上接收数据。希望解决方案会有所帮助

标签: php jquery ajax


【解决方案1】:

首先给表单一个ID或类,即表单

<form name="" method='post' action='' id='form'>...

然后您可以使用通用的序列化方法从 from 捕获所有输入

<script type="text/javascript">
$(document).on("click", ".btn", function(e) {
e.preventDefault();
var datastring = $("#form").serialize();

{
        $.ajax({
        url: "data_process.php",
        type: "post",
        data: dataString,
...

在 PHP 页面上,您将收到发布的数据

$values = $_POST['data'];

$N = count($values);

for($i=0; $i < $N; $i++)
{

   $currentvalue = $values[$i];
   //now this value will loop and you will do with it the way you want to
   //For example
   $save =  mysqli_query($link, "UPDATE table SET `column` = '$currentvalue' WHERE ...") or die(mysqli_error($link));

}

【讨论】:

    【解决方案2】:

    我想你忘了在数据 ajax 帖子中绑定参数

    $('.btn').click(function(){
    
                var datString = "'HOW TO GET THESE VALUES'";
    
                $.ajax({
                url: "data_process.php",
                type: "post",
                data: "'USERPARAMETR' : " dataString,
                success: function(data) {
                    alert('OK');
                }
            }); 
    
        });
    

    如果你没有在 data_process.php 页面中使用参数。请使用它。

    请更新并检查

    【讨论】:

      【解决方案3】:

      试试

      var Data = {};
      $('input[name=data]').each(function(i) {
        Data[i] = $(this).val();
      });
      

      【讨论】:

        【解决方案4】:

        试试这个:

        var datString = "";
        
        $(".data_cls")
                .map(function () {
                    datString += $(this).val();
                })
                .get();
        

        【讨论】:

          【解决方案5】:

          您可以使用.serialize() jQuery 方法来获取表单数据。像这样,

          $('.btn').click(function(){
          
                      var dataString = $('#FORM_ID').serialize();
                      //replace FORM_ID with the ID of the form.
          
                      $.ajax({
                      url: "data_process.php",
                      type: "post",
                      data: dataString,
                      success: function(data) {
                          alert('OK');
                      }
                  }); 
          
              });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-04-04
            • 1970-01-01
            • 2012-09-21
            • 2014-01-21
            • 2011-05-31
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多