当单击普通按钮时,我试图调用表单验证。这在jQuery上似乎很好,但对于普通的javascript就不行了。可以解释jquery的.submit()和javascript的.submit()方法之间的区别吗?或者我做错什么了?
<html>
<head>
<title>Form Submit</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
function validateForm(form) {
if (form.username.value=='') {
alert('Username missing');
return false;
}
return true;
}
</script>
</head>
<body>
<form action="index.php" name="loginform" method="post" onsubmit="return validateForm(this);">
<input name="username" placeholder="username" required="required" type="text" />
<input name="send1" type="button" value="Login1" onclick="$(document.forms.loginform).submit();" />
<input name="send2" type="button" value="Login2" onclick="document.forms.loginform.submit();" />
<input name="send3" type="submit" value="Login3" />
<a href="" onclick="event.preventDefault(); $(document.forms.loginform).submit();"> Login4 </a>
<a href="" onclick="event.preventDefault(); document.forms.loginform.submit();"> Login5 </a>
</form>
</body>
</html>

发布于 2012-07-19 09:42:00
DOM submit()方法不会触发提交事件。jQuery有。
发布于 2022-03-07 20:06:07
我知道这是一个老问题,但没有得到很好的回答,所以我们来看看: vanilla中的submit() DOM方法用于提交表单,但是JQuery submit()方法用于触发提交事件。您需要使用submit事件示例:
cosnt form = document.querySelecor('form')
form.addEventListener('submit', e => {
e.preventDefault()
/* Other stuff */
})或
const form = document.qeurySelector('form')
form.onsubmit = e => {
e.preventDefault()
/* Other stuff */
})https://stackoverflow.com/questions/11557994
复制相似问题