基本的に私には2つの形式があります。登録時にユーザーに最初の多くの情報を記入してもらいたい。[次へ](送信)を押してから、2番目のロットの情報を入力します。登録を押したら、両方のPOST情報を送信します。
私が持っているのはこれです-2つの異なる形式の2つのセクション(これらが2つの形式に分割される理由があります-サイトの外観の一部です):
<section class="first">
<header>
<h1>Signup 1/2</h1>
</header>
<form id="firstForm">
<label>First Name</label>
<input type="text" class="input-text" value="" name="firstName" required />
<label>Surname</label>
<input type="text" class="input-text" value="" name="Surname" required />
<label>Username</label>
<input type="text" class="input-text" value="" name="Username" required />
<input type="submit" name="firstSubmit" value="next"/>
</form>
</section>
<section class="second">
<header>
<h1>Signup 2/2</h1>
</header>
<form name="secondForm" class="clearfix">
<label>Your Email</label>
<input type="email" class="input-text" value="" name="email" required />
<label>Password</label>
<input type="text" class="input-text" value="" name="password" required />
<input type="submit" name="secondSubmit" value="Register" />
</form>
</section>
したがって、2番目のセクションは、ユーザーが次のボタン(送信)をクリックするまで非表示になります。javascriptを使用して、送信を停止し、最初のセクションを非表示にして、2番目のセクションを表示します。
<script type="text/javascript">
$("#firstForm").bind("submit", nextForm);
function nextForm() {
$('.first').css("display", "none");
$('.second').css("display", "block");
return false;
}
これは機能します。私の問題は、secondFormを送信することですが、1つの送信ボタンを使用する場合と同様に、最初と2番目の両方の情報をPOSTします。両方を送信していました。これは可能ですか?もしそうなら、どのように?
GETメソッドを使用するには、次のようにします。
$("#secondForm").bind("submit", submitForm);
function submitForm() {
document.getElementById("firstForm").submit();
document.getElementById("secondForm").submit();
}
しかし、GET =機密情報には悪い考えなので、私はそれをしたくありません。