簡體   English   中英

JavaScript-自動提交表單

[英]JavaScript - Auto submit form

我正在嘗試通過JavaScript在一個特定網頁上自動提交(登錄)表單(數據由瀏覽器重新注冊)。 我設法使用以下方法輕松提交了在PC上制作的測試表格:

document.forms["formID"].submit();

但是當我在頁面上嘗試時,它失敗了。 我在Greasemonkey的頁面上運行JavaScript,它可以正常運行,運行警報等,但是提交不起作用。 網頁是: http : //plusklub.hteronet.ba/登錄

我試圖用這部分代碼加載w8

document.addEventListener("DOMContentLoaded", function(event) {             
    document.forms["aspnetForm"].submit();
});

還在此問題的頂部注釋中使用此代碼, 使用JavaScript失敗自動提交表單意味着什么也沒有發生。

我嘗試了幾件事:

console.log("test1");
    document.addEventListener("DOMContentLoaded", function(event) { 
        console.log("test2");           
    });
    console.log("test3");
    window.onload = function () { 
        console.log("test4");       
        }
    }
    console.log("test5");
    var fo=document.getElementById("aspnetForm");
    console.log(fo);
    var bu=document.getElementsByClassName("button");
    console.log(bu);
    bu.click();
    setTimeout(function(){ console.log("test6"); }, 3000);

輸出跟隨:

test1helloworld.user.js:13:3
test3helloworld.user.js:17:3
test5helloworld.user.js:22:3
<form name="aspnetForm" method="post" action="/Login?ReturnUrl=http://plusklub.hteronet.ba/" id="aspnetForm">helloworld.user.js:24:3
HTMLCollection [ <input#ctl04_ctl02_btnSubmit.button> ]

不幸的是,我沒有足夠的速度來添加評論,所以我將嘗試拍攝。

通常,您需要先等待頁面加載,然后再觸發類似的事件,這應該可以在<body>元素中的window.loadonload事件屬性起作用。

我建議創建一個通過onload事件調用的函數,您可以在其中嘗試檢索用戶詳細信息(登錄名和密碼),如果.submit() ,則可以在try...catch異常處理下添加.submit()調用,以檢查是否存在瀏覽器提出錯誤以進行進一步調試。 完成后,這可以幫助您弄清楚代碼上正在發生什么,從而無法按預期工作。

抱歉,回答得不夠准確,不能幫助您,但我希望能為您解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM