我试图使用jQuery表单插件来动态地提交一个表单上的变化。为什么我陷入这个AJAX提交循环?
这绝对有效,但每次用户更改输入值时,它都会执行.post,运行我的成功“alert()”,然后反复重复,直到刷新页面以停止循环。这里的代码:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>AJAX Form Test Suite</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script src="_scripts/jquery.form.js"></script>
<script>
$(document).ready(function() {
var options = {
success: alertYes // post-submit callback
};
// binding to each input's change event
$('#mainForm input').change(function() {
$(this).parent().ajaxSubmit(options);
return false;
});
//success callback function
function alertYes() {
alert('You did it!');
}
});
</script>
</head>
<body>
<div id="ajaxMessage">
<h1>This is a suite AJAX form</h1>
<form id="mainForm" action="saveForm.php" method="post">
<ul class="nolist">
<li class="label"><label>Name</label></li>
<li class="input"><input type="text" name="name" value="Eric Roberts" /></li>
<li class="label"><label>Email</label></li>
<li class="input"><input type="text" name="email" value="[email protected]" /></li>
<li class="label"><input type="submit" name="submit" value="DO IT" /></li>
</ul>
</form>
</div>
</body>
</html>
我做错了什么使它不断循环呢?我假设这是当post.post返回时,警告之后,它会再次模糊一个重新提交ajax调用的输入,但我不知道为什么它会这样做?
谢谢。
PS这里是我使用的表格插件:http://jquery.malsup.com/form/ – rhodesjason 2010-01-14 19:23:28