仅使用1个ajax提交多个表单?

时间:2018-05-27 17:39:00

标签: php ajax

我使用while循环获取我的多个表单(在数据库中获取数据)。

<form id="form" class="form-horizontal" method="post" >
<input type="text" class="form-control" name="name" value="test1">
<input type="text" class="form-control" name="car_type">
<button type="submit" class="buttona" id="buttona">Send</button>
</form>
<form id="form" class="form-horizontal" method="post" >
<input type="text" class="form-control" name="name" value="test2">
<input type="text" class="form-control" name="car_type" value="test2">
<button type="submit" class="buttona" id="buttona">Send</button>
</form>

这是我的ajax(它只适用于第一种形式,但其余部分不起作用):

$(document).ready(function(){ 
 $(".form").submit(function(e) {
       e.preventDefault();
        $("#buttona").html('...');
        $("#buttona").attr("disabled", "disabled");
        sendInfo();

     });
});

ajax的功能:

function sendInfo() { 
        $.ajax({
          type: 'POST',
          url: '../process.php',
          data: $(".form").serialize(),
          success: function(data){
             if(data == 'Success') {
                $('#text_errora').html('added');
             }else {
               $('#text_errora').html('not aadded');                    
               }
          }
      })
        return false;
    }

如何设置ajax如何识别我点击/提交以处理表单的按钮?

2 个答案:

答案 0 :(得分:1)

  1. 您不能关闭<form>代码。
  2. 您使用相同的id两次。
  3. 您选择的是课程form,而不是ID form
  4. 实际上,我很惊讶它甚至可以工作一次。

    尝试此操作(无需触摸JavaScript),您的表单应该提交,但更改按钮可能不起作用(您也使用相同的ID;提示:id必须在整个 HTML DOM)。

    <form class="form form-horizontal" method="post" >
    <input type="text" class="form-control" name="name" value="test1">
    <input type="text" class="form-control" name="car_type">
    <button type="submit" class="buttona" id="buttona">Send</button>
    </form>
    

答案 1 :(得分:0)

使用&#34; 这个&#34;在提交处理程序中的关键字,您将收到对所单击按钮所属表单的引用。

$(document).ready(function(){ 
$(".form").submit(function(e) {
       e.preventDefault();
        var form_to_submit = this;
        $("#buttona").html('...');
        $("#buttona").attr("disabled", "disabled");
        sendInfo(form_to_submit);

     });
});


function sendInfo(form_to_submit) { 
    $.ajax({
        type: 'POST',
        url: '../process.php',
        data: $(form_to_submit).serialize(),
        success: function(data){
            if(data == 'Success') {
                $('#text_errora').html('added');
            }else {
                $('#text_errora').html('not aadded');                    
            }
        }
    })
    return false;
}