使用jQuery php mysql提交多个表单

使用jQuery php mysql提交多个表单,php,jquery,forms,Php,Jquery,Forms,我有任何一页可以回答/提问。我为管理员检索问题列表。我看到了。现在我需要发送每个问题的答案。因此,我为每个问题设置textarea,并使用post操作形成表单。现在我需要在发送问题消息的答案时,如果发送消息到外部php文件=true;消息(ID)的删除(jquery slideup效果)。为此,我有jquery提交表单代码(没有刷新页面),但我有一个大问题。这只适用于一种形式!并不是所有列表形式(问题+答案形式)都适用。如何使用我的多表单代码?我选择了正确的方式 html代码: <form

我有任何一页可以回答/提问。我为管理员检索问题列表。我看到了。现在我需要发送每个问题的答案。因此,我为每个问题设置
textarea
,并使用post操作形成表单。现在我需要在发送问题消息的答案时,如果发送消息到外部php文件=true;消息(ID)的删除(jquery slideup效果)。为此,我有jquery提交表单代码(没有刷新页面),但我有一个大问题。这只适用于一种形式!并不是所有列表形式(问题+答案形式)都适用。如何使用我的多表单代码?我选择了正确的方式

html代码:

<form action="insert.php?id=42" id="forms" method="POST" name="form">
<div id="box">
<div class="messagequestion"></div>
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div>
</div>
</form>
<form action="insert.php?id=45" id="forms" method="POST" name="form">
<div id="box">
<div class="messagequestion"></div>
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div>
</div>
</form>
<form action="insert.php?id=48" id="forms" method="POST" name="form">
<div id="box">
<div class="messagequestion"></div>
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div>
</div>
</form>
<form action="insert.php?id=50" id="forms" method="POST" name="form">
<div id="box">
<div class="messagequestion"></div>
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div>
</div>
</form>


谢谢

您的主要问题可能是您正在尝试重用ID。所有表单的id均为
“表单”
,您也在共享id
“框”

所有ID都应唯一标识一个元素。当需要对元素进行分类时,请使用类。我建议您将所有表单上的
id=“forms”
更改为
class=“reply\u form”
,然后将所有div上的
id=“box”
更改为
class=“reply\u box”
。然后将为#表单和#框设置的样式更改为为为.reply#表单和.reply设置的样式

编辑-与OP讨论后在JSFIDLE中进行的调整

使用Jquery
。each()
方法:

$(document).ready(function() {
    $('#forms').each(function() {

       this.submit(function() {
           $.ajax({ ... });
       });
    });

})

只需更改选择器<代码>id属性在html中必须是唯一的

$("[name='form']").submit(function() {
    $this = $(this);    
    $.ajax({
        type: 'POST',
        url: $(this).attr('action'),
        data: $(this).serialize(),
        cache: false,       
        beforeSend: function() {
            $('#loading').show();
            $('#result').hide();
        },
        success: function(data) {
            if(data==1){
              $('#loading').hide();
              $('#result').fadeIn('slow').html("ok");
              $('#result').addClass('true');
              $this.slideUp(1000);
            }
        else {
            $('#loading').hide();
            $('#result').fadeIn('slow').html(data);
            $('#result').addClass('errors');
        }}
    });
     e.preventDefault();
    return false;
});

不要对多个支持的对象使用相同的
id
!在每个文本区域之后。您的代码无法删除/滑动。在您的代码中,只删除最上面的一行,所以之后不删除。我的代码中的ex:删除“id=42”。我为每个“”更改此值!单击提交后,我会看到对话框,但单击确定后,我会看到其他ID的对话框循环。这是一个大问题。我在JSFIDLE中感到困惑,但在我的本地主机中不工作:(单击后,我没有看到警报对话框!如果表单的操作为空刷新页面!如果操作到Axernal页面e.x(insert.php?id=42)我看到这个页面/insert.php?id=42。警报框不起作用!很抱歉,我没有访问join Chat的权限文件中有一些奇怪的字符-对我来说,它们显示为–K。它们出现在三个地方(在脚本末尾出现两次)。一旦我删除了它们,代码对我来说运行良好。警报框现在起作用了!但url没有删除注释框(课堂)!请看在线演示: