<form id="loginForm">
<p id="usernameLabel">Username:</p>
<input type="text" name="username" id="username" placeholder="username"/><br>
<p id="passwordLabel">Password: </p>
<input type="password" name="password" id="password" placeholder="password"/><br>
<input id="loginButton" type="submit" value="Login!" onsubmit="validateForm()">
</form>
<p id="loginMessage">Please Login!</p>
<script type="text/javascript">
function validateForm() {
var un = document.loginForm.username.value;
var pw = document.loginForm.password.value;
var username = "MitchWardle";
var password = "123abc456";
if ((un == username) && (pw == password)) {
window.location = "content.html";
return false;
}
else {
alert ("Login was unsuccessful, please check your username and password");
}
}
</script>
我在Javascript上创建了一个小的登录表单,我希望它在用户名和密码正确时导航到Content.html但是当我点击我的“登录”按钮时,它只是从文本框中删除了文本,可以谁看到什么错了?
答案 0 :(得分:1)
这样做:
id
更改为name
。onsubmit
的{{1}}内。return false;
。将return false;
行更改为:
document.loginForm
希望它有效。
答案 1 :(得分:1)
您需要返回false以防止提交表单的默认操作,页面刷新并丢失您的数据,您可以设置提交按钮的类型
type="button"
或者可以更改提交
onclick="validateForm(); return false; "
答案 2 :(得分:1)
只有几件事情已经结束,但它几乎就在那里:
onsubmit
处理程序用于表单级别。将onsubmit
移至<form>
元素,或将其更改为onclick
元素的<input>
事件。<form>
元素还需要name
属性。即name="loginForm"
答案 3 :(得分:0)
我遇到了和以前一样的问题,我通过将提交按钮更改为<input type="button" onclick="login();" />
来解决问题,一切正常。但是,用户无法使用回车键提交表单(因为表单中没有提交按钮)。