单击()名为';提交';在Javascript中

单击()名为';提交';在Javascript中,javascript,javascript-objects,dom-events,Javascript,Javascript Objects,Dom Events,我有这个HTML: <input type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 有什么提示吗?您可能需要查看jQuery。它使一切变得如此、如此简单。您可能需要研究jQuery。它使一切变得如此简单。您使用的是getElementById,但您的输入上没有id属性。IE完全屏蔽了名称空间,并将name属性视为id属性,这并不意味着您应该这样做 <input id="su

我有这个HTML:

<input type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/>

有什么提示吗?

您可能需要查看jQuery。它使一切变得如此、如此简单。

您可能需要研究jQuery。它使一切变得如此简单。

您使用的是
getElementById
,但您的输入上没有
id
属性。IE完全屏蔽了名称空间,并将
name
属性视为
id
属性,这并不意味着您应该这样做

<input id="submit" ... />
...
document.getElementById('submit').click();

...
document.getElementById('submit')。单击();

您正在使用
getElementById
,但您的输入上没有
id
属性。IE完全屏蔽了名称空间,并将
name
属性视为
id
属性,这并不意味着您应该这样做

<input id="submit" ... />
...
document.getElementById('submit').click();

...
document.getElementById('submit')。单击();

我能看到的直接问题是,您没有为您的输入分配id
submit
,因此这不起作用:

document.getElementById("submit").........
除非您也指定了id:

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/>

我能看到的直接问题是,您没有为您的输入分配id
submit
,因此这不起作用:

document.getElementById("submit").........
除非您也指定了id:

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/>

您的输入没有id属性,因此无法通过id检索。请改用此属性

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/>

您的输入没有id属性,因此无法通过id检索。请改用此属性

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/>

没有ID为“submit”的元素——您有一个名为“submit”的元素。正如Dylan指出的,jQuery将使一切变得更容易,但您可以自己修复它。如果无法更改HTML,请执行以下操作:

var buttons = document.getElementsByTagName("submit");
for (var i=0; i < buttons.length; i++) {
  var button = buttons[i];
  if (button.getAttribute("name") === "submit") {
     button.onclick = whatever ...
var buttons=document.getElementsByTagName(“提交”);
对于(变量i=0;i
没有ID为“submit”的元素——您有一个名为“submit”的元素。正如Dylan指出的,jQuery会让一切变得更简单,但您可以自己修复它。如果您无法更改HTML,请执行以下操作:

var buttons = document.getElementsByTagName("submit");
for (var i=0; i < buttons.length; i++) {
  var button = buttons[i];
  if (button.getAttribute("name") === "submit") {
     button.onclick = whatever ...
var buttons=document.getElementsByTagName(“提交”);
对于(变量i=0;i
由于您无法编辑实际的HTML(添加id属性),并且您希望跨浏览器进行此操作,因此您可以循环所有输入元素并检查类型和值属性,直到它与“提交”按钮匹配:

function get_submit_button() {
    var inputs = document.getElementsByTagName('INPUT');
    for(var i=0; i < inputs.length; i++) {
        var inp = inputs[i];
        if(inp.type != 'submit') continue;
        if(inp.value == 'Invoeren' && inp.name == 'submit') {
            return inp;
            break; // exits the loop
        }
    }
    return false;
}

function click_submit() {
    var inp = get_submit_button();
    if(inp) inp.click();
}
函数get\u submit\u按钮(){
var inputs=document.getElementsByTagName('INPUT');
对于(变量i=0;i
由于您无法编辑实际的HTML(添加id属性),并且您希望跨浏览器进行此操作,因此您可以循环所有输入元素并检查类型和值属性,直到它与“提交”按钮匹配:

function get_submit_button() {
    var inputs = document.getElementsByTagName('INPUT');
    for(var i=0; i < inputs.length; i++) {
        var inp = inputs[i];
        if(inp.type != 'submit') continue;
        if(inp.value == 'Invoeren' && inp.name == 'submit') {
            return inp;
            break; // exits the loop
        }
    }
    return false;
}

function click_submit() {
    var inp = get_submit_button();
    if(inp) inp.click();
}
函数get\u submit\u按钮(){
var inputs=document.getElementsByTagName('INPUT');
对于(变量i=0;i
注意:千万不要调用表单中的任何内容“提交”!它会对脚本隐藏表单的提交事件

您有多种访问按钮的方法

document.querySelector("[name=submit]").click(); // first named button

document.querySelector("#form [name=submit]").click(); // in form with id="form"
旧的IEs会在名称后面加上阴影,因此可以在名称上使用getElementById,但不建议这样做

旧方法:

document.getElementsByName("submit")[0].click();
其中0是名为submit的页面上的第一个元素

document.forms[0].elements[0].click(); 
其中,
forms[0]
是第一个表单,
elements[0]
是第一个元素


其中,
(“表单”)[0]
是页面上的第一个表单,
元素[0]
是第一个元素。注意:不要将表单中的任何内容调用为“提交”!它会对脚本隐藏表单的提交事件

您有多种访问按钮的方法

document.querySelector("[name=submit]").click(); // first named button

document.querySelector("#form [name=submit]").click(); // in form with id="form"
旧的IEs会在名称后面加上阴影,因此可以在名称上使用getElementById,但不建议这样做

旧方法:

document.getElementsByName("submit")[0].click();
其中0是名为submit的页面上的第一个元素

document.forms[0].elements[0].click(); 
其中,
forms[0]
是第一个表单,
elements[0]
是第一个元素


其中,
(“表单”)[0]
是页面上的第一个表单,
元素[0]
是第一个元素

谢谢,有getElementByName函数吗?谢谢,有getElementByName函数吗?