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 :(得分: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/。
你也不应该说回归