我想在没有页面重新加载的情况下进行表单提交。这是第一次,但是当我尝试做第二次提交时,页面被刷新。jQuery AJAX多次提交到PHP脚本
我希望能够用传播到当前元素的新数据做几个提交。我错过了什么。
这是我的第一页form.php的
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script type="text/javascript">
//<![CDATA[
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery("#form").validate({
debug: false,
submitHandler: function (form) {
jQuery.post('formPost.php',
jQuery("#form").serialize(), function (data) {
jQuery('#Box').html(data);
});
}
});
});
// ]]>
</script>
</head>
<body>
<div id="Box">
<form id="form" name="form" method="POST" action="">
<select name="color">
<option>red</option>
<option>white</option>
<option>blue</option>
</select>
<input type="submit" name="submit" value="submit" /><br />
</form>
</div>
</body>
</html>
,这里是我的第二页formPost.php
<?php
switch ($_POST['color'])
{
case 'red':
echo 'you chose red<br /><br />';
break;
case 'blue':
echo 'you chose blue<br /><br />';
break;
case 'white':
echo 'you chose white<br /><br />';
break;
}
?>
<form id="form" name="form" method="POST" action="">
<select name="color">
<option>red</option>
<option>white</option>
<option>blue</option>
</select>
<input type="submit" name="submit" value="submit" /><br />
</form>
我希望能够重复使用,同时多个表单提交相同的形式留在同一页面上,并且在不刷新页面的情况下让数据在同一个div中显示。任何想法
但形式将每个答案而改变。因此,在我的实时版本中,如果选择红色,则formPost.php页面将显示一个新表单,并且这将继续大约10个表单问题。有任何想法吗? – simian
好吧。我没有意识到新形式的重要性。我将JavaScript函数的一部分分离出来以使其可重用,因为您需要在将新表单合并到HTML中后重新初始化AJAX表单。 –
好吧,那么有可能做jQuery的发布,并有新的信息继续传播在主要的div?在我的formPost.php页面上,我将根据上一个表单的选项来更改表单。 – simian