为什么警报会重定向我的页面?

时间:2013-09-13 05:29:22

标签: javascript php jquery ajax

为什么每次我向我的ajaxform发出警报时页面会重定向到其php脚本?但是当我删除警报时,ajax不会重定向它。我不希望我的页面重定向到它的PHP脚本。

$(document).ready(function(){
           $("#save").click(function(){
           $("#f1").ajaxForm({
                    alert("Submit Successful!");
                    });//ajaxform
    });
});

7 个答案:

答案 0 :(得分:3)

<强>替换

$("#save").click(function(){

<强>与

$("#save").click(function(e){
   e.preventDefault();

将事件作为参数传递并使用event.preventDefault(),因此页面不会重定向。

Official Document

答案 1 :(得分:3)

你没有正确使用好几件事。试试这个:

$(document).ready(function() {
    $("#save").click(function(e) {
        e.preventDefault(); //cancel default action (not strictly necessary...)

        $("#f1").ajaxForm(function() { //N.B. 'function() ' added - before it was an object!
            alert("Submit Successful!");
        });
    });
});

答案 2 :(得分:0)

尝试停止默认事件行为。

 $("#save").click(function(e){ 
    e.preventDefault();

答案 3 :(得分:0)

使用return false:停止对服务器的请求

$(document).ready(function () {
     $("#save").click(function () {
         $("#f1").ajaxForm(function(){
             alert("Submit Successful!");
             return false;//add return false to stop the request to server
         }); //ajaxform
     });
 });

答案 4 :(得分:0)

这是正常行为(如果点击的元素是指向另一个页面的锚标记):您单击一个链接并重定向您的页面。
如果要将该链接用作按钮并将某个操作绑定到该按钮,则应该完全停止链接的正常行为:防止它重定向页面。
这在很多方面都是可以实现的,但最好的方法(至少从语义的角度来看)是在实际的点击事件上调用preventDefault方法:

$('a').on('click', function(event){
    // prevents the normal behavior of this "click" action
    // in this case, it prevents the link from changing the url
    event.preventDefault();

    //.. your logic here
});

答案 5 :(得分:-1)

添加preventDefault()return false;

$("#save").click(function(e) {
    $("#f1").ajaxForm({
        alert("Submit Successful!");
    });//ajaxform
    e.preventDefault();
    //or
    return false;
});

答案 6 :(得分:-1)

尝试使用preventDefault()

$(document).ready(function(){

    $("#save").click(function(e){
       //Stay in the same page
       e.preventDefault();

        $("#f1").ajaxForm({

            alert("Submit Successful!");

        });//ajaxform

    });

});