2013-09-13 7 views
0

Почему каждый раз, когда я помещаю предупреждение в свой ajaxform, страница перенаправляется на свой php-скрипт? но когда я удаляю предупреждение, ajax не перенаправляет его. Я не хочу, чтобы моя страница перенаправлялась на свой php-скрипт.Почему предупреждение перенаправляет мою страницу?

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

использование возвращение ложным; после предупреждения –

+0

Потому что это не правильный синтаксис. попробуйте использовать обратный вызов –

ответ

-1

Добавить preventDefault() или return false;.

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

Использование 'return false;' на самом деле не является правильным способом остановить событие (или это по крайней мере очень разрушительно): http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ –

3

Заменить

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

с

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

случае передачи в качестве аргумента и использовать event.preventDefault() поэтому страница не будет перенаправлять.

Official Document

0

пытается остановить поведение события по умолчанию.

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

Попробуйте использовать preventDefault()

$(document).ready(function(){ 

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

     $("#f1").ajaxForm({ 

      alert("Submit Successful!"); 

     });//ajaxform 

    }); 

}); 
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!"); 
     }); 
    }); 
}); 
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 
    }); 
}); 
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 
}); 
Смежные вопросы