私はページの再読み込みをせずにフォームの提出をしようとしています。これは初めてのことですが、2回目の提出を試みるとページが更新されます。jQuery AJAXが複数回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>
とform.php私の最初のページは私の2ページ目です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
ええと...私は新しいフォームの重要性を認識していませんでした。新しいフォームがHTMLに組み込まれた後にAJAXフォームを再初期化する必要があるため、JavaScript関数の一部を再利用可能にするためにJavaScript関数の一部を分離しました。 –
これで、jQueryの投稿を行い、新しい情報をメインのdivに伝播し続けることができますか?私のformPost.phpページでは、前のフォームからの選択に基づいてフォームの変更を行います。 – simian