gpt4 book ai didi

javascript - 如何一次提交两个表单

转载 作者:行者123 更新时间:2023-11-28 02:38:55 26 4
gpt4 key购买 nike

我的页面上有两种形式,一种用于用户名和密码,另一种用于特殊验证 PIN。在我的第一个表单上,我将操作设置为返回 false,否则页面将刷新并阻止我隐藏的 div 显示在第二个表单中,这是一个隐藏的 div。我有一个登录按钮,它在单击时取消隐藏隐藏的 div,还有一个提交按钮,用户在输入他们的 pin 后按下。我遇到的问题是我希望最终提交按钮提交两个表单。这可能吗?

This is what my sign in page looks like当它被提交时,它显示隐藏的 div,它有另一种形式,用户输入他们的 pin。我希望最终提交按钮能够处理所有 3 个输入。

这是我的用户名和密码表单,它返回 false,因此不会刷新页面

<form action="" method="POST" id="hello" onsubmit="return false;">

实际登录的按钮在这里

<input class="btn_green_white_innerfade btn_medium" type="submit" 
name="submit" id="userLogin" value="Sign in" width="104" height="25"
border="0" tabindex="5" onclick="showDiv()">
<div class="mainLoginLeftPanel_signin">
<label for="userAccountName"> username</label><br>
<input class="textField" type="text" name="username"
id="userAccountName" maxlength="64" tabindex="1" value=""><br>&nbsp;<br>
<label for="userPassword">Password</label><br>
<input class="textField" type="password" name="password"
id="userPassword" autocomplete="off" maxlength="64" tabindex="2"><br>
<div id="passwordclearlabel" style="text-align: left;
display: none;">It seems that you may be having trouble entering your
password. We will now show your password in plain text (login is still
secure).</div>

这是我的第二种形式

<form name="search-form" //this is the form that submits the final pin
id="search-form"
action="#"
class="form-search"
method="POST"
onsubmit="submitForms();">

这是我使用的onsubmit函数

function() submitForms{
document.getElementById("search-form").submit();
document.getElementById("hello").submit();
document.getElementById("hello").action = "/loginaction.php";
}

Loginaction.php 是我拥有的脚本,我希望它处理所有 3 个输入、用户名、密码和特殊验证 PIN。

我的总体问题是我可以使用最终提交按钮通过脚本处理所有 3 个输入吗?如果可以,我将如何处理?

更新

我现在只有一个表单,但是有两个按钮,一个提交,一个显示隐藏的 div,但似乎没有提交表单。

这是我当前的表单 - 我需要的第一个按钮只显示它正在做的隐藏的 div,但是我想要提交用户名、密码和 pin 的提交按钮似乎没有要工作,我应该在我的表格中添加什么?

<!DOCTYPE html>
<html>
<head>
<form>
<input class="btn_green_white_innerfade btn_medium" type="button" name="submit" id="userLogin" value="Sign in" width="104" height="25" border="0" tabindex="5" onclick="showDiv();">
<div class="mainLoginLeftPanel_signin">
<label for="userAccountName">username</label><br>
<input class="textField" type="text" name="username" id="userAccountName" maxlength="64" tabindex="1" value=""><br>&nbsp;<br>
<label for="userPassword">Password</label><br>
<input class="textField" type="password" name="password" id="userPassword" autocomplete="off" maxlength="64" tabindex="2"><br>
<div id="passwordclearlabel" style="text-align: left; display: none;">It seems that you may be having trouble entering your password. We will now show your password in plain text (login is still secure).</div>
<div class="checkboxContainer">
<div class="checkboxRow" title="If you select this option, we will automatically log you in on future visits for up to 30 days, or until you select &quot;Logout&quot; from the account menu. This feature is only available to PIN Guard enabled accounts.">
<input class="" type="checkbox" name="remember_login" id="remember_login" tabindex="4"><label for="remember_login">Remember me on this computer</label><br>
</div>
</div>
</div>

<div class="modal_buttons" id="login_twofactorauth_buttonsets">
<div class="auth_buttonset" id="login_twofactorauth_buttonset_entercode" style="">
<button type="submit" class="auth_button leftbtn" data-modalstate="submit" onsubmit="submitForms();">

<div class="auth_button_h3">submit</div>
<div class="auth_button_h5">my authenticator code</div></button></div></div>
</form>
</head>

最佳答案

你在这里采取了错误的方法。

只有在您真正要在某处提交数据时,您才应该使用submit 按钮和submit 事件。

您只需要一个表单和一个提交按钮。

您的第一个按钮应该只是一个显示表单其余部分的常规按钮。然后,没有事件可以取消。然后,您的第二个按钮会提交表单。

此外,您不应使用内联 HTML 事件属性(onsubmit 等), here's why 并且您应该摆脱内联样式并设置 CSS 样式规则。

关于javascript - 如何一次提交两个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45509989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com