如何在页面的所有按钮上设置Autoclick?

时间:2015-05-14 06:28:30

标签: javascript jquery html ajax

我正在使用Jquery和Ajax来执行操作,我需要在加载完整页面后,自动点击每个按钮的代码。

我使用以下javascript代码点击页面末尾的所有按钮。但它没有用。

<script type='text/javascript'>
    document.getElementByClassName('sub').click();
</script>

我的网页代码的结构

[JQuery]
[PHP]
[HTML]
[Javascript]

我将所有按钮类型设置为“BUTTON”,当我设置

  

型= “提交”

Autoclick代码仅适用于第一个按钮,但使用“按钮”类型时,它不适用于任何一个按钮。

如果我手动点击这些按钮,它们就能正常工作。

请提出任何建议。谢谢。

4 个答案:

答案 0 :(得分:1)

在jQuery中,您可以触发点击

$( ".sub" ).trigger( "click" );

答案 1 :(得分:1)

因为您检索NodeList(如注释中所指出的):

$(document).ready(function () {
    var butEl = document.getElementsByClassName('sub'),
        count = butEl.length;
    for (i = 0; i < count; i++){
        butEl[i].click();
    }
});

也是getElementsByClassName

答案 2 :(得分:0)

你使用了错误的功能。元素在该方法中是复数。

document.getElementsByClassName('sub');

此外,调用此NodeList上的单击将无效。您需要遍历并在每个索引上调用事件。

另外,你说你正在使用jQuery。为确保在DOM准备就绪后调用,请使用$()。ready()包装JS。

最后,使用您自己提供的工具,在本例中为jQuery,并以这种方式选择您的元素。

$(document).ready(function(){
    $(".sub").click()
});

答案 3 :(得分:0)

如果您尝试点击多个不同的表单提交按钮,那么浏览器只会为其中一个提供POST是有道理的 - 一个页面无法同时导航到多个不同的网址。

同样,当您将type更改为button时,即使您点击按钮,也不会提交任何表单。

如果您知道自己在做什么,可以随时向所有表单添加submit事件处理程序,并通过ajax请求提交它们 - 这应该允许处理多个表单。请注意,您可能需要制定一些额外的逻辑来向用户显示每个表单的成功/失败,因为浏览器无法导航到任何现有的&#34;提交的#34;页。

$(document).on('submit', 'form', function() {
    $.ajax({
        url: $(this).attr('action'),
        type: $(this).attr('method'),
        dataType: 'json',
        data: $(this).serialize(),
        success: function(data) {
            // Add logic here for handling success for each form, if required
        },
        error: function(xhr, err) {
            // Add logic here for handling errors for each form, if required
        }
    });
    return false; // To stop the browser processing this form
});

使用此方法,首次使用type="submit"按钮的尝试应该有效 - 不过,我建议您尽可能使用元素选择器来确定您尝试定位的表单和按钮