我在ajax jquery中遇到成功问题。我的整个jsp重新加载ajax成功,即使在返回false之后。如何防止页面重新加载。
function AjaxCall(category){
var formValue = $('#TP').serialize();
$.post('saveIndvQuestionnaire.jsp?'+formValue+'&category='+category,
//$.post('callPage.jsp',
function(data) {
return false;
});
}
我从输入类型图像
调用AjaxCall函数<input id="test" type="image" onclick="javascript:AjaxCall('Test');" src="../images/v10/larrow.png">
我不确定我是否读过某个类型的图片会拨打两个电话。
感谢。
答案 0 :(得分:1)
问题可能是输入类型图像的行为。 https://developer.mozilla.org/es/docs/Web/HTML/Element/Input 尝试在你的函数中使用e.preventDefault(),不应该提交。
$( "#test" ).click(function( event ) {
event.preventDefault();
var formValue = $('#TP').serialize();
$.post('saveIndvQuestionnaire.jsp?'+formValue+'&category='+category,
function(data) {
return false;
});
});
Exmple
您可以使用另一个html控件来实现此功能,就像使用Image:
的href一样<a href="#" onClick="alert('Hello World!')"><img title="The Link" /></a>
答案 1 :(得分:1)
我想你也可以这样
$('YourForm').submit(function(e){
e.preventDefault();
formdata=$(this).serialize();
$.ajax({
type: "POST",
url: url,
data: formdata
}).done(function(data){
//do something
});
});
答案 2 :(得分:1)
试试这个:
<input id="test" type="image" onclick="return javascript:AjaxCall('Test');" src="../images/v10/larrow.png">
你应该点击“返回”响应。