使用浏览器地址栏中编写的 JS 代码自动提交表单的问题
Posted
技术标签:
【中文标题】使用浏览器地址栏中编写的 JS 代码自动提交表单的问题【英文标题】:Issue with Form Auto-Submit with JS code written in browser's address bar 【发布时间】:2016-02-16 07:35:05 【问题描述】:我是 javascript 和 Web 应用程序编程的新手。我正在尝试创建一个“自动登录”实用程序,该实用程序将填写用户名/密码字段并将信息自动提交到服务器,并在无需用户干预的情况下登录应用程序。这与另一个名为“RoboForm”的实用程序相同。由于一些隐私问题,我无法在我当前的组织中为此目的使用此 RoboForm 或任何第三方实用程序。所以,我决定自己创建它。
这就是我想要做的;进入应用程序的登录页面后,我在浏览器地址栏中的 javascript 代码下方编写:
javascript:document.getElementById('Username').value='xyz';document.getElementById('Password').value='xyz_123';document.getElementById('Destination').value='TestDB';document.forms['Form1'].submit();
使用此代码一切正常,除了表单没有“自动提交”。我必须手动点击“登录”按钮才能继续。
我在 google 上做了一些研究,发现按钮 id 不应该是“提交”。我验证了这一点,并且我尝试登录的应用程序有一些不同的 id,所以这不是问题。我不确定为什么表单没有“自动提交”。
请注意,我尝试登录的应用程序是第三方应用程序,我无权访问源代码。
谁能帮我解决这个问题?如果有任何其他替代方案可以达到相同的效果,请建议我。
谢谢! 斯瓦德
【问题讨论】:
【参考方案1】:如果您的表单名称是Form1
,那么自动提交的代码应该是
document.forms[0].submit();
或
document.Form1.submit();
【讨论】:
【参考方案2】:我找到了解决办法:
用document.getElementById('cmdLogin1').click();
代替document.forms['Form1'].submit();
【讨论】:
以上是关于使用浏览器地址栏中编写的 JS 代码自动提交表单的问题的主要内容,如果未能解决你的问题,请参考以下文章