在元素出现时尝试执行单击功能

时间:2016-01-06 03:33:42

标签: javascript jquery html forms function

基本上我正在开发一个在表单完成后出现提交按钮的网站。我想要的是创建一个功能,只要它出现就会自动点击提交按钮(没有选择倒退和审查工作,所以我甚至不知道为什么它在那里)。我已经在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的新手,所以可能是因为我还在学习这个术语,所以我的搜索没有任何改变。有什么建议?感谢

3 个答案:

答案 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();
   }
});

JSFiddle

不要忘记将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');
    }

});