当我通过警报调用函数时,可以完美地运行:
function post() {
var cvs = $('#client-nbr').val();
var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs});
alert("The function work");
}
html形式如下:
<form action="b.php" method="post" onsubmit="return post()">
问题是当我从函数中删除警报时,$ .post不起作用:
function post() {
var cvs = $('#client-nbr').val();
var cs = $('#cs').val(); $.post('a.php' {postcvs:cvs,postch1:cs});
}
请帮助:)
答案 0 :(得分:4)
由于post()
没有return
语句,onsubmit
函数最终会返回undefined
。
由于它不返回false
,因此不会取消表单的正常行为。因此,表单在Ajax请求解析之前提交和卸载页面。
放入alert
会延迟页面卸载,直到您单击确定,这为Ajax请求提供了解决的时间。
return false
函数的 post
取消了正常提交表单。