【问题标题】:Post data in two forms, The first form doesn't send any data until the second one is filled out以两种形式发布数据,第一种形式不会发送任何数据,直到填写第二个形式
【发布时间】:2013-03-07 05:27:54
【问题描述】:

基本上我有两种形式。我想让用户在注册时填写第一批信息。按下一步(提交),然后填写第二批信息。一旦他们按下注册,提交两组 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 = 敏感信息的坏主意。

【问题讨论】:

    标签: javascript html forms post form-submit


    【解决方案1】:

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

    【讨论】:

    • 正是我要回答的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    相关资源
    最近更新 更多