只是一个非常简单的登录和重定向,但是由于我将按钮输入类型更改为“submit”而onClick事件更改为onSubmit,因此脚本不会触发。现在一切都只是将用户名和密码作为字符串添加到网址。
<form name="loginform">
<label>User name</label>
<input type="text" name="usr" placeholder="username">
<label>Password</label>
<input type="password" name="pword" placeholder="password">
<input type="submit" value="Login" onSubmit="validateForm();" />
</form>
<script>
function validateForm() {
var un = document.loginform.usr.value;
var pw = document.loginform.pword.value;
var username = "username";
var password = "password";
if ((un == username) && (pw == password)) {
window.location = "main.html";
return false;
}
else {
alert ("Login was unsuccessful, please check your username and password");
}
}
</script>
答案 0 :(得分:7)
input
代码没有onsubmit
处理程序。相反,您应该将onsubmit
处理程序放在实际form
标记上,如下所示:
<form name="loginform" onsubmit="validateForm()" method="post">
这里有一些有用的链接:
对于form
标记,您可以指定请求方法GET
或POST
。默认情况下,该方法为GET
。它们之间的区别之一是,在GET
方法的情况下,参数会附加到URL
(正如您所示),而在POST
方法的情况下则没有显示在URL
中。
您可以详细了解差异here。
<强>更新强>
您应该返回函数调用,并且还可以在URL
标记的action
属性中指定form
。所以这是更新的代码:
<form name="loginform" onSubmit="return validateForm();" action="main.html" method="post">
<label>User name</label>
<input type="text" name="usr" placeholder="username">
<label>Password</label>
<input type="password" name="pword" placeholder="password">
<input type="submit" value="Login"/>
</form>
<script>
function validateForm() {
var un = document.loginform.usr.value;
var pw = document.loginform.pword.value;
var username = "username";
var password = "password";
if ((un == username) && (pw == password)) {
return true;
}
else {
alert ("Login was unsuccessful, please check your username and password");
return false;
}
}
</script>
答案 1 :(得分:2)
您可以在此处执行两项操作:将onSubmit属性移动到表单标记,或将onSubmit事件更改为onCLick事件。
选项1
<form name="loginform" onSubmit="return validateForm();">
选项2
<input type="submit" value="Login" onClick="return validateForm();" />
答案 2 :(得分:2)
<!DOCTYPE html>
<html>
<head>
<script>
function vali() {
var u=document.forms["myform"]["user"].value;
var p=document.forms["myform"]["pwd"].value;
if(u == p) {
alert("Welcome");
window.location="sec.html";
return false;
}
else
{
alert("Please Try again!");
return false;
}
}
</script>
</head>
<body>
<form method="post">
<fieldset style="width:35px;"> <legend>Login Here</legend>
<input type="text" name="user" placeholder="Username" required>
<br>
<input type="Password" name="pwd" placeholder="Password" required>
<br>
<input type="submit" name="submit" value="submit" onclick="return vali()">
</form>
</fieldset>
</html>
答案 3 :(得分:1)
<form name="loginform" onsubmit="validateForm()">
而不是将onsubmit放在实际的输入按钮上
答案 4 :(得分:1)
向表单method="post"
添加属性。
像这样:
<form name="loginform" method="post">
答案 5 :(得分:0)
以下是一些有用的链接与示例 Login form Validation in javascript
function validate() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username == null || username == "") {
alert("Please enter the username.");
return false;
}
if (password == null || password == "") {
alert("Please enter the password.");
return false;
}
alert('Login successful');
}
<input type="text" name="username" id="username" />
<input type="password" name="password" id="password" />
<input type="button" value="Login" id="submit" onclick="validate();" />