使用内联参数触发 javascript 事件
Triggering a javascript event with inline parameters
我的网站上有一个表单,通过单击 link 提交。我正在尝试创建一个自定义上下文菜单,以便用户可以根据需要在新选项卡中打开提交的表单。因为页面是用cgi动态生成的,每次函数的参数都不一样。我想在将属性 target="_blank"
添加到表单元素后使用这些参数触发函数。
我可以使用 document.getElementById("...").onclick
访问参数,然后使用正则表达式提取它们。但这似乎过于复杂。我觉得必须有一种方法可以说 "do what you would have done if someone had left-clicked this a element"。这是一些简化的代码:
<a id = "link" style = "cursor:pointer" onclick = "postform('1')">link</a>
<FORM id = "remote"><input id = "input" type = "hidden" name = "firstkey" value = ""></FORM>
我把 JS 放在一个单独的文件中,它基本上说:
function postform(valueone) {
document.getElementById("input").value = valueone;
document.getElementById("remote").submit();
}
我现在可以在新标签页中打开的是:
function contextmenu() {
var parameters =document.getElementById("newtab").onclick;
//regexes go here
postform(parameters);
}
我想问的是,有没有一种方法可以在一两行中替换我在 contextmenu 函数中所做的事情,这将触发附加到 link 及其参数的 onclick 事件?
您可以使用节点的点击方法以编程方式触发节点的点击事件。
因此对于 id 'newtab' 的元素:
document.getElementById("newtab").click();
*注意:将其包裹在一些错误检查中,以防由于某种原因找不到节点。
我的网站上有一个表单,通过单击 link 提交。我正在尝试创建一个自定义上下文菜单,以便用户可以根据需要在新选项卡中打开提交的表单。因为页面是用cgi动态生成的,每次函数的参数都不一样。我想在将属性 target="_blank"
添加到表单元素后使用这些参数触发函数。
我可以使用 document.getElementById("...").onclick
访问参数,然后使用正则表达式提取它们。但这似乎过于复杂。我觉得必须有一种方法可以说 "do what you would have done if someone had left-clicked this a element"。这是一些简化的代码:
<a id = "link" style = "cursor:pointer" onclick = "postform('1')">link</a>
<FORM id = "remote"><input id = "input" type = "hidden" name = "firstkey" value = ""></FORM>
我把 JS 放在一个单独的文件中,它基本上说:
function postform(valueone) {
document.getElementById("input").value = valueone;
document.getElementById("remote").submit();
}
我现在可以在新标签页中打开的是:
function contextmenu() {
var parameters =document.getElementById("newtab").onclick;
//regexes go here
postform(parameters);
}
我想问的是,有没有一种方法可以在一两行中替换我在 contextmenu 函数中所做的事情,这将触发附加到 link 及其参数的 onclick 事件?
您可以使用节点的点击方法以编程方式触发节点的点击事件。
因此对于 id 'newtab' 的元素:
document.getElementById("newtab").click();
*注意:将其包裹在一些错误检查中,以防由于某种原因找不到节点。