提交表单时未调用Submit函数

Submit function not getting called when form is submitted

本文关键字:Submit 函数 调用 表单 提交      更新时间:2023-09-26

onSubmit标记似乎不起作用。当点击网页上的提交按钮时,我正在尝试调用submit()javascript函数。这是代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="login.css">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
  <script src="jquery.serializeJSON.min.js"></script>
</head>
<body>
<script type="text/javascript">
   function submit() {
     .......
   }
</script>
  <div class="login-container">
    <div class="title">Login Form</div>
    <div class="form-fields">
      <form name="login-form" id="login-form" onSubmit="return submit()">
        <input type="text" name="username" id="username" placeholder="Username" required></input>
        <input type="password" name="password" id="password" placeholder="Password" required></input>
        <input type="submit" value="Log in" id="submit-button"></input>
      </form>
    </div>
  </div>
</body>

存在命名冲突。

该表单具有本地内置功能,可以在中看到

<form id="x" onsubmit="console.log(submit);"><input type="submit"/></form>

当你看控制台时,你会看到

function submit() { [native code] } 

因此,当您调用submit()时,您调用的是本机提交函数,也就是document.getElementById("login-form").submit();,而不是您的。要避开它,请更改名称。

将函数名称更改为submit以外的名称。

function xSubmit(){
}

<form name="login-form" id="login-form" onSubmit="return xSubmit()">

不能使用"submit"作为函数名。Submit是一个JavaScript关键字。只需将您的函数重命名为其他函数即可。

function submitForm() {
    console.log('I work now');
}
<form name="login-form" id="login-form" onSubmit="return submitForm()">

它应该是小写的s.

<form name="login-form" id="login-form" onsubmit="return submit()">

结账http://www.w3schools.com/jsref/event_onsubmit.asp了解更多信息。

编辑:对不起,我做了一些测试,发现这是提交的名字。看看这把小提琴http://jsfiddle.net/9z95chze/.

您也不需要说return