带名称的JavaScript自动发布

带名称的JavaScript自动发布,javascript,forms,post,button,Javascript,Forms,Post,Button,我有一个我正在制作的电子表格。表单上有三个按钮,所有提交。OnBase根据用于提交表单的按钮的名称执行不同的操作。如果按钮的名称为OBBtn\u交叉引用,则会打开另一个包含交叉引用文档的窗口。我需要以编程方式“单击”该按钮 我读过几篇关于如何使用JavaScript提交表单的帖子,但似乎没有一篇能够实现我的目标。我只需要POST,让它看起来像是来自一个名为OBBtn\u CrossReference的按钮 我不需要提交任何数据。按照当前设置页面的方式,整个页面已经是一个表单,因为我不想破坏其他表

我有一个我正在制作的电子表格。表单上有三个按钮,所有
提交
。OnBase根据用于提交表单的按钮的名称执行不同的操作。如果按钮的
名称
OBBtn\u交叉引用
,则会打开另一个包含交叉引用文档的窗口。我需要以编程方式“单击”该按钮

我读过几篇关于如何使用JavaScript提交表单的帖子,但似乎没有一篇能够实现我的目标。我只需要
POST
,让它看起来像是来自一个名为
OBBtn\u CrossReference
的按钮

我不需要提交任何数据。按照当前设置页面的方式,整个页面已经是一个表单,因为我不想破坏其他表单按钮的功能,所以我必须保持这种方式

更新:
下面的建议作为
body
标记中
onload
事件的调用进行了测试,因为按钮会发布页面重新加载,并且调用会一次又一次地生成无限的子窗口。如果您能给我一个建议,告诉我如何在页面第一次加载时才单击按钮,而不是在回发时单击按钮,我将不胜感激。

在链接、按钮和复选框上有一个
click()
方法。例如,我通过运行
document.getElementById('submit-button')提交了此评论。从chrome的命令行单击()

我知道我写这篇文章有点晚,但您可以尝试利用cookie来完成此操作:

if (document.cookie.indexOf('xref=true', 0) < 0) {

    // Set the xRef cookie, so we do not fire it again for this form.
    document.cookie = 'xref=true';

    //alert(document.cookie);
    document.getElementById("OBBtn_CrossReference").click();
}
else {

    document.cookie = "xref=false";
    //alert(document.cookie);
}
if(document.cookie.indexOf('xref=true',0)<0){
//设置外部参照cookie,这样我们就不会为此窗体再次触发它。
document.cookie='xref=true';
//警报(document.cookie);
document.getElementById(“OBBtn_交叉引用”)。单击();
}
否则{
document.cookie=“xref=false”;
//警报(document.cookie);
}
我在10.0中对厚客户端和瘦客户端进行了测试,效果很好


这个网站上的帖子是我自己的,不一定代表我公司的立场、战略或观点。

不错,它回答了这个问题,我笑了。哇,这直接回答了如何通过编程点击。我真傻。谢谢。我正在测试这个,发现它没有预期的效果。由于按钮POST,页面被刷新,然后再次触发带有
.click()
事件的onload事件。有没有想过把这个电话放在别的什么地方,这样就不会被多次打电话了?似乎这是一个屈服于自己的页面,我多么讨厌这些页面。向submit添加一个url参数,您可以检测到onload,这样您就不会每次都重新单击它。讨厌的黑客,但如果你不想修复你的混乱,你必须这样做!我想我理解你的意思:修改表单的动作,对吗?但是,表单上有三个按钮,它们都提交给自己(这里是OnBase engineering)。如何指定单击了哪个按钮?你有一个简单的例子吗?这个问题有没有一部分没有回答?想知道为什么没有选择答案。