提交表单时提交函数未被调用

时间:2014-10-28 20:05:57

标签: javascript html forms

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>

3 个答案:

答案 0 :(得分:2)

存在命名冲突。

表单具有本机内置功能,可以通过

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

当您查看控制台时,您将看到

function submit() { [native code] } 

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

将功能名称更改为提交以外的其他名称。

function xSubmit(){

}

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

答案 1 :(得分:0)

不能使用&#34;提交&#34;作为函数名称。提交是一个JavaScript关键字。只需将您的功能重命名为其他内容即可。

function submitForm() {
    console.log('I work now');
}

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

答案 2 :(得分:-2)

它应该是小写的。

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

查看http://www.w3schools.com/jsref/event_onsubmit.asp了解详情。

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

你也不应该说回归