基本上我正在开发一个在表单完成后出现提交按钮的网站。我想要的是创建一个功能,只要它出现就会自动点击提交按钮(没有选择倒退和审查工作,所以我甚至不知道为什么它在那里)。我已经在Chrome上使用了带有Tampermonkey的用户脚本,并且希望添加这个最终版本来加快速度。
因此,本网站html中该特定提交按钮的代码为:
<form style="width:auto;" id="siteform" action="https://www.example.com" method="post">
<!--
<input type="hidden" id="numTags" name="numTags" value="< %= numTags %>" />
<input type="hidden" id="numMaps" name="numMaps" value="< %= current_map_count %>" />
<input type="hidden" id="numQuestions" name="numQuestions" value="< %= current_question_count %>" />
<input type="hidden" id="challenge" name="challenge" value="< %= challenge %>" />
-->
<input type="hidden" id="assignmentId" name="assignmentId" value="3WSELTNVR4VI8OKXJT4767WDMN3ATT">
<input type="hidden" id="hitId" name="hitId" value="3H1C3QRA01C1P014N961OWQHFGQCEF">
<input type="hidden" id="workerId" name="workerId" value="id1">
<button type="submit">Finished! Click here to submit HIT</button>
</form>
我能找到的最接近我需要的是使用函数
if ($(#'element').is(':visible')){}
虽然这在理论上是我想要的,但它不起作用。比如我试过
if ($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
没有运气。我仍然是javascript和jQuery的新手,所以可能是因为我还在学习这个术语,所以我的搜索没有任何改变。有什么建议?感谢
答案 0 :(得分:1)
document.getElementById('siteform').submit();
无需处理单击按钮,只需使用提交功能。
答案 1 :(得分:1)
我知道你的问题不是将Js代码包装在Jquery的document.ready
中,如下所示:
$(document).ready(function(){
if ($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
});
或
$(function(){
if($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
});
不要忘记将JQuery库添加到您的html页面:
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
答案 2 :(得分:0)
如果您朝着正确的方向前进,请查看是否直接提交表单而不是尝试点按按钮...
$(document).ready(function(){
var $form = $('#siteform');
if ($form.find('button[type="submit"]').is(':visible')) {
$form.trigger('submit');
}
});