0

Javascript 部分...它停在 $("#deletar").click...

$(document).ready(function() {
    $("#deletar").click(function() { // it fails here !!
        var sendu = $("#ids").val();
        $.ajax({
            type : "POST",
            url : "deletar.php",
            data : "ids=" + sendu,
            success : function(msg, string, jqXHR) {
                $("#result").html(msg);
            }
        });
    });
});

这是 php 文件...是对其他 ajax 帖子的回显,并检索 mysql 数据库的列表

.$row2['amigos']."
</td>
<td><inp ``ut type='submit' name='deletar' id='deletar' value='deletar'
        OnClick='return confirm(\"Tem certeza que quer deletar esta linha?\");'>
    <input type='hidden' name='ids' id='ids' value='".$row2['id']."'>

</td>
</tr>
";
enter code here
4

2 回答 2

0

您的 ajax 正在从提交按钮调用click。您没有做任何事情来阻止提交按钮的默认行为,因此在您的 ajax 调用之后,浏览器将使用传统请求提交表单。

在您的click事件中,您可以return false阻止表单提交:

$("#deletar").click(function(){ //it fails here !!
    var sendu = $("#ids").val();
    $.ajax({
        type:"POST",
        url:"deletar.php",
        data: "ids="+sendu,
        success: function(msg,string,jqXHR){
                $("#result").html(msg);
            }
        }); 

    return false; // <--- stop the form submitting
});

你也可以使用e.preventDefault来达到同样的效果。

于 2012-11-30T09:03:55.810 回答
0

我认为您需要在单击提交按钮后停止提交表单:

$(document).ready(function () {
    $("#deletar").click(function (event) {//it fails here !!
        event.preventDefault(); // one of these
        event.stopPropagation(); // lines should do the trick
        var sendu = $("#ids").val();
        $.ajax({
            type : "POST",
            url : "deletar.php",
            data : "ids=" + sendu,
            success : function (msg, string, jqXHR) {
                $("#result").html(msg);
            }
        });
    });
}); 
于 2012-11-30T09:04:02.797 回答