hkB*_*sai 19 javascript automation click submit button
我不太了解WEB问题,所以请随时问我是否遗漏了任何细节.
有一个网站我经常访问,它要求用户每次访问时都要登录.对于本网站的登录页面,我正在尝试写下一个会自动登录的用户脚本.
我设法填写表单字段,但不知道如何通过JavaScript单击提交按钮.以下是原始登录代码的精简版本.如何在此代码中自动单击此提交按钮?
<div id="start">
<div id="header">
<div id="login">
<form id="loginForm" name="loginForm" method="post" action="#">
// ...
<input type="submit" id="loginSubmit" onclick="changeAction('submitInput','loginForm');document.forms['loginForm'].submit();" value="Log in" />
// ...
</form>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
mer*_*ial 37
一般提交表单的常用方法是在表单本身上调用submit(),如krtek的回答中所述.
但是,如果由于某种原因需要实际单击提交按钮(您的代码取决于发布的提交按钮的名称/值等),您可以单击提交按钮本身,如下所示:
document.getElementById('loginSubmit').click();
Run Code Online (Sandbox Code Playgroud)
Mat*_*all 12
document.getElementById('loginSubmit').submit();
Run Code Online (Sandbox Code Playgroud)
或者,使用与onclick处理程序相同的代码:
changeAction('submitInput','loginForm');
document.forms['loginForm'].submit();
Run Code Online (Sandbox Code Playgroud)
(虽然那个onclick处理程序是一种愚蠢的写法:document.forms['loginForm']可以替换为this.)
你可以做 :
document.forms["loginForm"].submit()
Run Code Online (Sandbox Code Playgroud)
但这不会调用onclick按钮的动作,因此您需要手动调用它.
请注意,您必须使用name表单而不是id访问表单.