我的表格如下:
<form action="/action_page.php" onsubmit="alert('The form was submitted');" >
Enter name: <input type="text" name="fname">
<input type="button" onclick="document.getElementsByTagName('form')[0].submit()" value="Submit">
</form>
虽然我点击了按钮并确实提交了表单,但alert
框未显示。也就是说,submit()
方法提交了表单但没有触发onsubmit
事件。发生了什么?我应该如何使用submit()
方法触发onsubmit
事件?
答案 0 :(得分:1)
嗯,documentation for the submit method非常明确,它不会触发onsubmit。
由于以下任何表单元素都会导致表单提交:
<input type='submit'>
<input type='button'>
<button>
您可能根本不需要在该按钮上使用onclick处理程序
答案 1 :(得分:0)
您似乎无法查看此帖子 - https://stackoverflow.com/a/19847255/8449863
但是,请尝试使用隐藏的提交按钮解决方法:
<form action="/action_page.php" onsubmit="alert('The form was submitted');" >
Enter name: <input type="text" name="fname">
<input type="button" value="Submit" onclick="document.getElementById('submit').click();" >
<input id="submit" type="submit" style="display: none;" />
</form>