0

基本的に私には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 =機密情報には悪い考えなので、私はそれをしたくありません。

4

1 に答える 1

1

1つのフォームを使用しますが、2セットの入力をdivでラップします。最初のdivを非表示にし、最初のボタンクリックで2番目のdivを表示し(送信ボタンとして保持しない)、2番目のボタンクリックでフォーム全体を送信します。

于 2013-03-07T05:33:45.747 に答える