为什么每次我向我的ajaxform发出警报时页面会重定向到其php脚本?但是当我删除警报时,ajax不会重定向它。我不希望我的页面重定向到它的PHP脚本。
$(document).ready(function(){
$("#save").click(function(){
$("#f1").ajaxForm({
alert("Submit Successful!");
});//ajaxform
});
});
答案 0 :(得分:3)
<强>替换强>
$("#save").click(function(){
<强>与强>
$("#save").click(function(e){
e.preventDefault();
将事件作为参数传递并使用event.preventDefault()
,因此页面不会重定向。
答案 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
});
});