繁体   English   中英

php ajax有效,但无效

[英]php ajax works, and doesn't work

的HTML

echo '<form id="f_'.$id.'" method="post">';
echo '<input type="hidden" name="re_ti" value="'.$ti.'">';
echo '</form>';
echo '<button id="rBtn" l="#f_'.$id.'" class="button_accept" onclick="document.getElementById(\'review\').style.display = \'block\';">Review</button>';

AJAX

$(document).ready(function(){
$('#rBtn').click(function() {
     var log = $(this).attr("l");
     alert(l);
     $.ajax({
           type:"post",
           url:"php_parsers/review.php",
           data: $(l).serialize(),
           success: function(response){
               $("#reviewMain").html(response);
           }
     });
     $.ajax({
           type:"post",
           url:"php_parsers/comment.php",
           data: $(l).serialize(),
           success: function(response){
               $("#reviewSub").html(response);
           }
     });
  });
});

因此,HTML代码与PHP相呼应,每种形式都有不同的ID。
示例表单ID是#f_234324 (它是计数)。

使用while来回显这些表单,如果只有一个回显,则一切正常,但是如果有一个以上的回显,则我的Ajax不起作用。

Ajax应该获取l并使用l更改数据:到我想要的论坛。

如果有人知道更好的解释方式,请告诉我。 如果存在一种形式,则弹出警报,如果存在两种形式,则不会弹出。

我想念什么?

我认为问题在于,您的文档中有多个rBtn ID,因为如果php中的while循环产生多个按钮,则您有多个ID rBtn 您应该使用唯一的ID。 我会在选择器中使用类名:

$(document).ready(function(){
   $('.button_accept').click(function() {
     var log = $(this).attr("l");
     alert(l);
     $.ajax({
           type:"post",
           url:"php_parsers/review.php",
           data: $(l).serialize(),
           success: function(response){
               $("#reviewMain").html(response);
           }
     });
     $.ajax({
           type:"post",
           url:"php_parsers/comment.php",
           data: $(l).serialize(),
           success: function(response){
               $("#reviewSub").html(response);
           }
     });
  });
});

因此,在所有具有class button_accept类的元素上设置了click事件处理程序,并且$(this)将返回click上的clicked按钮。 我希望可以解决您的问题。

顺便说一句 ,您应该将您的l属性命名为data-l以编写有效的html5代码。 button元素没有属性l ,名称空间data-*为您自己的(新)属性命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM