使用javascript submit()
直播行动:https://jsfiddle.net/98sm3f3t/
HTML :
<form id="myForm" action="">
First name: <input type="text" name="fname"><br>
<button id="myButton" type="button">Submit form</button>
</form>
JS :
document.getElementById("myButton").addEventListener("click", function() {
document.getElementById("myForm").submit();
});
document.getElementById("myForm").addEventListener("submit", function(e) {
e.preventDefault();
alert("cancel submitting");
});
它过时显示alert()
并取消提交。
我的代码出了什么问题?
提前感谢...
答案 0 :(得分:6)
使用JavaScript以编程方式提交表单不会触发提交事件。
如果您希望代码显示警报而不提交表单,请将其写入以便显示警报。
document.getElementById("myButton").addEventListener("click", function() {
alert("Your message");
});
或者,使用提交按钮提交表单(而不是JavaScript)。
答案 1 :(得分:3)
修复您的问题是使用submit
类型的输入:
<button id="myButton" type="submit">
https://jsfiddle.net/joherro3/98sm3f3t/4/
要使其工作,您必须删除提交表单的click事件侦听器。听取表单提交并致电preventDefault()
,以防止提交表单。
答案 2 :(得分:1)
变化
<button id="myButton" type="button">Submit form</button>
到
<button id="myButton" type="submit">Submit form</button>
答案 3 :(得分:0)