jQuery没有为一类按钮执行onClick

时间:2015-03-23 00:53:43

标签: javascript php jquery html ajax

使用Javascript:

    <script>
        $(document).ready(function(){//So far AJAX isn't asyncn.
            $(".acceptorbutton").on('click', function(){
                    var whichClicked = this.attr('name');
                    var cat = parseInt(whichClicked, 10);
                    alert("this text is not appearing");
                    $.ajax({
                        type:"POST",
                        url:"getuser.php",
                        data: {friendadd : cat},
                        success: function(){
                            alert("Ajax success");
                        }
                    })
            })
        });
    </script>

PHP和HTML表单:它为搜索结果出现的每个用户循环。每个用户旁边都有一个输入按钮,onClick应该调用getuser.php。输入按钮是相同的,除了它们的名称。在点击时,jQuery应该执行但它没有检测到它。

            <form id="friendadd" enctype="multipart/form-data">
    <?php
        for($i=0; $i<$ctk->rowCount(); $i++){
            echo "<img src='".$ctk_values[$i][6]."' alt='Blank' style='width:64px;height:64px'>";//PP, Later add clickable profile
            echo "<th rowspan='3'>Attributes</th>";
            echo "<tr>  ".$ctk_values[$i][0]."</tr>";//UN
            echo "<tr>  ".$ctk_values[$i][1]."</tr>";//UL
            echo "<tr>  ".$ctk_values[$i][5]."</tr>";//UA
            echo "YOYOYOO".$ctk_values[$i][4];
            $GlobalAcceptorId=$ctk_values[$i][4];
    ?>

    <div id="dom-target" style="background-color:yellow;">
        <?php
            echo $GlobalAcceptorId;
        ?>
    </div>
                <input class="acceptorbutton" type="button" name="<?php echo $ctk_values[$i][4];?>"><br>
    <?php   
        }//Ends for loop
    ?>
            </form>     
    <?php
            }
        }
    ?>

到目前为止我尝试了什么:警报框没有出现。我已尝试更改表单按钮类型以提交并制作Javascript $(".acceptorbutton").submit(function(){....

提前致谢!如果您需要更多信息,请告诉我,但到目前为止,我认为我没有遗漏任何关键数据。

1 个答案:

答案 0 :(得分:0)

所以我发现错误并最终让它发挥作用!希望与此斗争的其他人会觉得这很有帮助。我的错误是this.attr('name');在jQuery 1.7中被弃用,而我正在使用jQuery 2.1。错误不在于回调,而是完全像关闭并在看到它时火上浇油,甚至不允许alert()通过。相反,使用$(this).prop('name')。感谢所有帮助过的人!

    <script>
        $(document).ready(function(){//So far AJAX isn't asyncn.
            $(".acceptorbutton").on("click", function(){
                    alert("this text is not appearing");
                    //var whichClicked = this.attr('name');
                    //var cat = parseInt(whichClicked, 10);
                    var cat = parseInt($(this).prop('name'), 10);
                    $.ajax({
                        type:"POST",
                        url:"getuser.php",
                        data: {friendadd : cat},
                        success: function(){
                            alert("Ajax success");
                        }
                    });//Add data: and success:function
            })
        });
    </script>