如何在Javascript中进行表单验证

时间:2014-03-11 12:18:49

标签: javascript html html5

我编写此代码用于注册用户。现在我想验证此页面是否所有字段都由用户填写或不填写。我写入登录页面的相同脚本代码如果在页面中任何一个空白,则显示警告。但它不适合这个页面。

主要区别是我在登录页面中使用了Div我在这里使用了表。

注册页码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="css/Registration.css">
<script>
function validateForm()
{
var a=document.forms["regform"]["user"].value;
var b=document.forms["regform"]["pass"].value;
var c=document.forms["regform"]["copa"].value;
var d=document.forms["regform"]["mono"].value;
if(a==""||b==""||c=""||d="")
{
    alert("Please Enter All the Fields");
    return false;
}
else
{
    window.location="afterregister.html"
    //alert("Registered Successfully");
}
 }
</script>
</head>
<body>
<h1>Registration</h1>
<form name="regform" onsubmit="return validateForm();" method="post">
<table>
<tr>
    <td><label>Username:</label></td>
    <td><input type="text" name="user"/></td>
</tr>
<tr>
    <td><label>Password:</label></td>
    <td><input type="text" name="pass"/></td>
</tr>
<tr>
    <td><label>Confirm Password:</label></td>
    <td><input type="text" name="copa"/></td>
</tr>
<tr>
    <td><label>Mobile Number:</label></td>
    <td><input type="text" name="mono"/></td>
</tr>
<tr>
<td></td>
    <td><input type="button" onclick = "return validateForm()" value="Register" name="" class="row1" />
    <input type="button" name="" value="Cancel" class="row1"></td>
</tr>
<tr>
<td></td>
    <td><input type="button" name="" value="Forgot Password" class="row2"></td>
</tr>
    </table>
</form>
</body>
</html>

登录页码:

<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="css/Login.css">
<script>
function myFunction()
{
var x=document.forms["loginform"]["user"].value;
var y=document.forms["loginform"]["pass"].value;
if(x==""||y=="")
{
    alert("Please Enter All the Fields");
    return false;
}
else
{
    window.location="afterLogin.html"
}
}
</script>
</head>
<div></div>
<body>
<h1></h1>
    <form name="loginform"  onsubmit="return myFunction();" method="post">
    <div class="username"><label>Username:</label><input type="text" name="user"/></div>
    <div class="password"><label>Password:</label><input type="text" name="pass"/></div>
    <div class="buttons"><input type="button" onclick = "return myFunction()" value="Login" name=""/> <input type="button" value="Cancel" name=""/></div>
</form>

</body>

2 个答案:

答案 0 :(得分:3)

您已在表单提交onsubmit="return myFunction();"上调用验证功能。因此,无需再次在button click上再次拨打电话。所以请更改

 <input type="button" onclick = "return validateForm()" value="Register" name="" class="row1" />

 <input type="submit" value="Register" name="" class="row1" />

并在您的脚本中执行此操作

<script>
function validateForm()
{
var a=document.forms["regform"]["user"].value;
var b=document.forms["regform"]["pass"].value;
var c=document.forms["regform"]["copa"].value;
var d=document.forms["regform"]["mono"].value;
if(a===""||b===""||c===""||d==="")
{
    alert("Please Enter All the Fields");
    return false;
}
else
{
    window.location="afterregister.html"
    //alert("Registered Successfully");
}
 }
</script>

答案 1 :(得分:0)

解决方案: 执行以下两个步骤:

1-首先按以下方法之一关闭<input>代码:

我。 <input type = "textbox" name = "name" /> <!-- This is suggested -->

OR

II。 <input type = "textbox" name = "name"></input>

2-浏览这两个有用的链接 - 它将引导您完成您的确切需求:

Form Validation Tutorial - 1

Form Validation Tutorial - 2