繁体   English   中英

触发输入/表单的onclick事件

[英]Triggering onclick event of Input/Form

<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)

您可以使用

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

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

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

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

您拥有的代码可防止由于“ return false;”而导致表单无法发布。 单击该按钮时,它将触发Submit事件,该事件被阻止。 那么,在知道结果相同的情况下,您如何知道按钮是否被触发?

为了简化编码逻辑,请将JavaScript调用放在form标签或按钮中,但不要同时放在两者中。 我的建议是离开按钮。 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>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM