Hello Stackoverflow!
我正在尝试获取Chrome扩展程序以点击页面按钮来触发AJAX请求,但是看起来物理点击所述按钮与使用以下内容不同:
document.getElementsByTagName('input')[10].click();
getElements行的结果如下:
<input type="submit" value="Continue ...">
使用document.forms有点工作,但遗憾的是重新加载页面,这不是点击事件触发Ajaxrequest时发生的情况。
document.forms[1].submit();
调用表单将返回以下内容:
<form
action="/battle.php" method="post" name="2913" id="2913" onsubmit="get('/battle.php', '', this);
disableSubmitButton(this);
return false;">…</form>
对于像我这样的初学程序员来说,这似乎并不明显,为什么要使用.click();在F12控制台(chrome)与物理点击有任何不同。此外,我已经验证了(sorf of)屏幕上的按钮实际上是我用getElementsByTagName(&#39;输入&#39;)调用的按钮。
答案 0 :(得分:0)
页面重新加载,因为按钮的类型是&#34;提交&#34;。您可以将事件处理程序附加到&#34;单击&#34;可以在不重新加载页面的情况下提交表单的按钮。您的代码将如下所示:
使用JQuery:
$('#submitButton').on('click', function(e){
e.preventDefault(); // stops default submit
$('#2913').submit(); // or the ID of your form
});
您的HTML将是:
<input type="button" value="Continue ..." id="submitButton">