Javascript 使用Greasemonkey提交表单

Javascript 使用Greasemonkey提交表单,javascript,forms,submit,greasemonkey,Javascript,Forms,Submit,Greasemonkey,每天,当我第一次尝试在工作时访问一个网页时,我会被重定向到一个带有IT指南的内部托管网页,以及一个带有两个按钮“同意”和“不同意”的表单。单击“同意”,然后允许当天的外部互联网访问,并将您发送到您最初寻找的站点 我想制作一个自动提交表单的Greasemonkey脚本,因为我已经有了一个批处理文件,可以在启动时启动所有正常的应用程序,这样我就可以在电脑每天启动20分钟时离开电脑;) 该页面只有一种形式: 我不确定这是否重要,因为我只需要单击,但函数submitone是: 函数提交(格式){ /

每天,当我第一次尝试在工作时访问一个网页时,我会被重定向到一个带有IT指南的内部托管网页,以及一个带有两个按钮“同意”和“不同意”的表单。单击“同意”,然后允许当天的外部互联网访问,并将您发送到您最初寻找的站点

我想制作一个自动提交表单的Greasemonkey脚本,因为我已经有了一个批处理文件,可以在启动时启动所有正常的应用程序,这样我就可以在电脑每天启动20分钟时离开电脑;)

该页面只有一种形式:


我不确定这是否重要,因为我只需要单击,但函数
submitone
是:

函数提交(格式){
//如果IE 4+或NS 6+
控制台日志(“提交”);
if(document.all | | document.getElementById){
//筛选表单中的每个元素,并搜索“提交”和“重置”
对于(i=0;i
我有其他的来源,但它看起来没有任何其他相关的。我以前没有用Greasemonkey/JS编写过代码,所以如果有任何帮助,我将不胜感激。我正在玩一个用CtrlEnter点击按钮的游戏


显然,我不在乎这是一个虚拟的“点击”还是仅仅是提交功能的触发,因为我会说它们是一样的,不是吗?

这应该是一个简单的工作:

// ==UserScript==
// @name           myscript
// @namespace      whatever
// @include        http://path to the internal page
// ==/UserScript==

document.forms[0].submit();

从一位朋友那里得到了一些帮助,他说这应该是可行的,尽管这远没有dda给出的答案那么简单。显然,这在Chrome中起作用:

function ClicktheButton(obj) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window,
    0, 0, 0, 0, 0, false, false, false, false, 0, null);
  var cancelled = !obj.dispatchEvent(evt);      
/*

  if(cancelled) {
    // A handler called preventDefault
    alert("cancelled");
  } else {
    // None of the handlers called preventDefault
    alert("not cancelled");
  }
  */
}

var StupidButton = document.querySelector('input[type="submit"][value="I Agree!"]');
ClicktheButton(StupidButton);

它还需要GreaseMonkey脚本经常使用的包含项等。

您打算在哪个浏览器上使用它?它们不一样,
submit()
不会将提交按钮的名称和值与数据一起发送。再看看您的html,我不认为
input
元素有
onsubmit
属性。它是在Firefox中使用的,尽管我想这种简单的东西在Chrome中也会起作用。至于onsubmit属性,它不是我的代码,但是嘿,也许这个函数实际上什么都不做,只是submit让用户继续:p@vbevan,功能
submitonce()
仅禁用
submit
reset
按钮。没有任何与实际表单提交相关的内容。无论如何,你最好的选择是dda的答案。谢谢,我会在早上登录时尝试。如果这有效,而dda的答案无效,那么问题会忽略一些关键javascript。
onsubmit
看起来已经像是一个转录错误,因为这不是有效的HTML,在大多数(?所有?)浏览器中都不会触发。StupidButton。我喜欢这个。