jqueryajax脚本无法使用PHP中的n个表单

jqueryajax脚本无法使用PHP中的n个表单,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我的AJAX jQuery脚本和n个表单有点问题……更准确地说,PHP脚本生成n个表单(表单包括一个文本区域和一个按钮),在head标记中我包含了jQuery脚本。问题是jquery只适用于第一种形式,而不适用于其他形式(第二种、第三种…)。我需要处理所有表单…以下是代码: <script> $(document).ready(function() { $("#submitForm").click(function() { var text = $("

我的AJAX jQuery脚本和n个表单有点问题……更准确地说,PHP脚本生成n个表单(表单包括一个文本区域和一个按钮),在head标记中我包含了jQuery脚本。问题是jquery只适用于第一种形式,而不适用于其他形式(第二种、第三种…)。我需要处理所有表单…以下是代码:

<script>
    $(document).ready(function() {
    $("#submitForm").click(function() {
        var text = $("#comment").val();
        var id = $("#id").val();

        $.ajax(
            {
                url: "addcomment.php",
                type: "POST",
                data: "t="+ text +"&id="+id,
                success: function(data)
                {
                    alert(data);
                }

            });
    });
    }); 
</script>

$(文档).ready(函数(){
$(“#提交表单”)。单击(函数(){
var text=$(“#注释”).val();
var id=$(“#id”).val();
$.ajax(
{
url:“addcomment.php”,
类型:“POST”,
数据:“t=“+text+”&id=“+id,
成功:功能(数据)
{
警报(数据);
}
});
});
}); 
这是PHP代码

for($i=0; $i<$num; $i++)
{
     echo "<div style='border: 1px solid black;'>

              <textarea id='comment'></textarea>
              <input type='hidden' id='id' value='".$id."'/>
              <input type='button' id='submitForm' value='Add Comment'>

              </div>";
}

for($i=0;$i对于您创建的每个表单,您都使用相同的ID

ID必须是唯一的,并且在页面上只显示一次

您应该使用注释中建议的类

更像这样:

<?php for ($i = 0; $i < $num; $i++): ?>
<div>
    <textarea class="comment"></textarea>
    <input type="hidden" class="id" value="<?php echo $id; ?>">
    <input type="button" class="submitForm" value="Add Comment">
</div>
<?php endfor; ?>

在PHP方面,您应该使用类似的方法进行更改,以确保所有html元素都具有唯一的id

for($i=0; $i<$num; $i++)
{
     echo "<div style='border: 1px solid black;'>

              <textarea id='comment".$i."'></textarea>
              <input type='hidden' id='id".$i."' value='".$id."'/>
              <input type='button' id='".$i."' class='submitForm' value='Add Comment'>

              </div>";
}

用于($i=0;$IID必须是唯一的,使用classes.Hm…当我使用classes并在jquery中更改时#comment with.comment,我不会从textarea获取值。使用id输入,一切都很好…你需要更改获取值的方式并收听提交。你能告诉我怎么做,或者给我一些文档的链接吗?
for($i=0; $i<$num; $i++)
{
     echo "<div style='border: 1px solid black;'>

              <textarea id='comment".$i."'></textarea>
              <input type='hidden' id='id".$i."' value='".$id."'/>
              <input type='button' id='".$i."' class='submitForm' value='Add Comment'>

              </div>";
}
<script>
    $(document).ready(function() {
    $(".submitForm").click(function() {
        var formNumber = $(this).attr("id"); // Get the form number that was clicked, the id attribute of the clicked button
        var text = $("#comment"+formNumber).val(); // Get the comment of that particular form
        var id = $("#id"+formNumber).val(); // get the id of that particula form

        $.ajax(
            {
                url: "addcomment.php",
                type: "POST",
                data: "t="+ text +"&id="+id,
                success: function(data)
                {
                    alert(data);
                }

            });
    });
    }); 
</script>