【问题标题】:Jquery submit vs. javascript submitJquery 提交与 javascript 提交
【发布时间】:2012-07-18 11:16:17
【问题描述】:

我试图在单击普通按钮时调用表单验证。这似乎适用于 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>

【问题讨论】:

    标签: javascript jquery forms html submit


    【解决方案1】:

    DOM submit() 方法不会触发提交事件。 jQuery 的。

    【讨论】:

    • 好的,谢谢你的解释。所以上面的脚本应该正确扩展为if (validateForm(document.forms.loginform)) document.forms.loginform.submit();
    • 现在已经不是这样了。 document.formName.submit()(或document.querySelector('form[name="formName"]').submit())确实会触发表单提交
    • @chiliNUT — 提交表单,是的。表单提交事件,没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 2012-07-02
    • 2016-04-22
    • 2012-07-01
    • 2015-07-26
    相关资源
    最近更新 更多