0

基本上我有两种形式。我想让用户在注册时填写第一批信息。按下一步(提交),然后填写第二批信息。一旦他们按下注册,提交两组 POST 信息。

我所拥有的是 - 具有两种不同形式的两个部分(这是将它们分成两种形式的原因 - 网站外观的一部分):

<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>

所以第二部分是隐藏的,直到用户点击下一个按钮(提交)。我有 javascript 阻止它提交,隐藏第一部分,并使第二部分出现:

<script type="text/javascript">
$("#firstForm").bind("submit", nextForm);
function nextForm() {
    $('.first').css("display", "none");
    $('.second').css("display", "block");
    return false;
}

这行得通。然后我的问题是让第二个表单提交,但同时发布第一个和第二个信息,就像使用一个提交按钮一样,我同时提交了两个。这可能吗?如果是这样,怎么办?

要使用 GET 方法,我会去:

$("#secondForm").bind("submit", submitForm);
function submitForm() {
    document.getElementById("firstForm").submit();  
    document.getElementById("secondForm").submit();         
}

但我不想这样做,因为 GET = 敏感信息的坏主意。

4

1 回答 1

1

我会使用一种形式,但将两组输入包装在 div 中。只需隐藏第一个 div 并在第一个按钮单击时显示第二个(您不会将其保留为提交按钮),然后在第二个按钮单击时提交整个表单。

于 2013-03-07T05:33:45.747 回答