<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)
答案 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()方法正确提交。谢谢大家的答案。