2014-04-27 145 views
2

我使用的是follwing代码,但它不会阻止重新加载并且在窗体页面上看不到成功的文本。防止在提交后重新加载

$("#ak_Submit_img").click(function() { 
$.post($("#ak").attr("action"), 
     $("#ak :input").serializeArray(), 
     function(info){ $("#result").html(info); 
    }); 
clearInput(); 
}); 

$("#ak").submit(function() { 
    return false; 
}); 

function clearInput() { 
    $("#ak :input").each(function() { 
     $(this).val(''); 
    }); 
} 

<form id='ak' class='sfm_form' method='post' action='such.php' accept-charset='UTF-8'> 

<input type='image' name='Submit' id='ak_Submit_img' src='images/ak-Submit-0.png' alt='submit'/> 

我在哪里犯错。

回答

0

return false不是防止用jquery重新加载的方式。

的常用方法,以防止重载从按下按钮是:

$('#button').click(function(e){ 
    // do whatever actions you need here 
    e.preventDefault(); 
}); 

为您的代码,我建议:

$("#ak_Submit_img").click(function(e) { 
e.preventDefault(); 
$.post($("#ak").attr("action"), 
     $("#ak :input").serializeArray(), 
     function(info){ $("#result").html(info); 
    }); 
clearInput(); 
}); 

OR

$("#ak").submit(function(e) { 
e.preventDefault(); 
    return false; 
}); 
+0

谢谢您答案但它不起作用。 –

+0

这可能是因为事件被阻止在错误的部分。再看一遍,你可以用自己的函数提交表单。尝试在提交函数中使用'e.preventDefault();'。 – Derple

+0

我在回答中添加了实例 – Derple