2014-10-28 76 views
0

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> 
+0

不知道你为什么关闭''标签 – epascarello 2014-10-28 20:14:17

回答

2

有一个命名冲突。

形式具有内置的功能本机可与

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

可以看到当你看到在控制台上,你会看到

function submit() { [native code] } 

所以,当你调用提交()您所呼叫那原生提交功能aka document.getElementById("login-form").submit();而不是你的。为了解决它,请更改名称。

将函数名称更改为提交以外的内容。

function xSubmit(){ 

} 

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

它应该是小写的s。

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

更多信息退房http://www.w3schools.com/jsref/event_onsubmit.asp

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

你也不应该说退货

+2

不会有所作为。它可以OnSuBmIt,它仍然可以工作。 – epascarello 2014-10-28 20:14:38

+0

并随着你的编辑:如果你想取消表单提交,你确实需要返回。 – epascarello 2014-10-28 20:20:58

+0

哦,那是真的。我的错。我通常尽量避免内联JS,只是做一个返回false。感谢您的洞察力。 – user1600704 2014-10-28 20:24:44

0

不能使用 “提交” 作为函数名。提交是一个JavaScript关键字。简单地将你的功能重新命名为别的。

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

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

它保留在哪里? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar – epascarello 2014-10-28 20:20:06