重新提交相同的表格无效

Posted

技术标签:

【中文标题】重新提交相同的表格无效【英文标题】:Resubmitting the same form is not working 【发布时间】:2014-03-06 07:21:51 【问题描述】:

我正在制作一个 html 页面“Login Pro.html”。我正在制作这样一个页面,只需点击一个链接,我就可以登录一个帐户(比如 Facebook)。

HTML 代码:

<a href="Login Pro.html" id="loginLink" target="_new">Login to my Account</a>

用户名和密码的表单输入字段(值属性将使用 JQuery 设置):

<input type="text" id="username" value="" />
<input type="password" id="password" value="" />
<input type="submit" id="loginButton" />

在 JQuery 代码中,我设置值并像这样提交表单:

$("#loginLink").click(function()//when the link is clicked this will be executed.

   $("#username").attr("value","My Username");//Setting value for the username
   $("#password").attr("value","My Password");//Setting value for the password
   $("#loginButton").click();//Submitting the form by implicitly clicking the submit button
);

在这种情况下,我可以成功登录我的帐户,并且“Login Pro.html”(从我正在执行所有这些操作的页面)在新页面中打开(因为我已设置 target=" _new" 并且表单正在提交并将我带到我正在登录的帐户的主页,在第一页(选项卡)中成功打开。但是当我尝试通过“ Login Pro.html”页面,在新选项卡中打开,我被登陆到同一页面,即“Login Pro.html”页面而不是登录(简而言之,在第二种情况下我无法登录)。关闭后此页面,当我再次打开该页面时,同样的传奇仍在继续,即我可以在第一个实例中登录,但在尝试新标签时无法登录。

谁能帮我摆脱这个。这是因为页面已经加载了吗?

【问题讨论】:

切勿使用.attr() 设置值。请改用.val() @ThiefMaster,感谢您的重播。根据你的建议,我也试过了。但这一次我什至无法登录我的帐户。同样的问题仍然存在。我的页面无法在第二个实例中打开新标签。 表单标签在哪里?我在您制作的 html 中没有看到它。将输入标签包围在表单标签内,然后提交表单。这才是正确的做法。 这里我只是省略了表单标签。但在我的页面中,输入标签被表单标签包围。我这里省略了表单标签,因为这里不需要。 【参考方案1】:

输入中缺少“名称”属性。没有名字就不会发送任何东西。

【讨论】:

在我的页面中我已经写了所有内容。事实上,我已经从 facebook 的源代码中复制了表单标签的代码。我能够登录。问题出在其他问题上。请阅读最后一段。

以上是关于重新提交相同的表格无效的主要内容,如果未能解决你的问题,请参考以下文章

CSRF 令牌无效。请尝试重新提交表单

Symfony3 中的错误“CSRF 令牌无效。请尝试重新提交表单”

无效的 Swift 支持 - 缺少 SwiftSupport 文件夹。使用 Xcode 的当前公共 (GM) 版本重新构建您的应用程序并重新提交

输入的地址似乎无效。请更正您的地址并重新提交

Django 表单提交无需重新加载页面

防止表格重新提交