触发输入/表单的onclick事件

时间:2014-01-20 23:54:55

标签: javascript html internet-explorer dom

<form method="POST" onsubmit="return false;">
...
<input type="submit" name="button" value="Login" onclick="require('file.js').submitForm(this.form);">
...
</form>

如何使用javascript在Internet Explorer 9中触发此INPUT元素的onclick事件(因此可以提交表单)? 我试过了:

document.getElementsByName("button")[0].click()

document.getElementsByName("button")[0].onclick()

但不起作用。

(document.getElementsByName(“button”)。length = 1)

3 个答案:

答案 0 :(得分:0)

你可以使用

document.getElementsByTagName("form").submit();

对于点击事件,您可以使用此

element = document.getElementsByName("button")[0]
if (typeof element.onclick == "function") {
    element.onclick.apply(element);
}

答案 1 :(得分:0)

超越问题的表面,我相信您正在尝试触发表单帖子并使用一些客户端逻辑来处理提交。

您拥有的代码会阻止表单因“返回false”而被发布。单击该按钮时,它将触发阻止提交事件。那么你怎么知道按钮被触发了,知道结果是一样的吗?

对于更简单的编码逻辑,将JavaScript调用放在表单标记或按钮中,但不能同时放在两者中。我的建议是留下按钮。 type =“submit”表示它将提交表单。表单本身有一个JavaScript函数,用于决定是否发布。

<form method="POST" onsubmit="return prepost();">
...
<input type="submit" value="Submit">
</form>

<script>
function prepost(){

    // if the form needs to be stopped
    return false;


    // if the form needs to be posted
    return true;

}
</script>

答案 2 :(得分:0)

答案:如果我将某些字段留空,则表单未提交。当我在正确的字段中输入正确的值时,使用上面的click()方法正确提交。谢谢大家的答案。