javascript - 如何在 Javascript 中进行表单验证

标签 javascript html

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

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

注册页面代码:

<!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>

最佳答案

您已经在表单提交 onsubmit="return myFunction();" 上调用验证函数。因此,您无需在单击按钮 时再次调用它。所以请改变

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

关于javascript - 如何在 Javascript 中进行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22325537/

相关文章:

javascript - 使用 jQuery Mobile 和 Cordova 调整 webview 大小时 iPhone 模拟器中的高度错误

javascript - 在 typescript 或 javascript 中链接箭头函数

html - 试图让颜色显示

html - 垂直对齐跨度标签

javascript - AngularJS 提示没有为 jquery 定义初始化

javascript - 在 fullpage.js 上添加 onLeave 会中断滚动

php - 有没有办法从 URL 获取 Facebook 见解数据并将其放入 php 变量中?

javascript - Nuxt(Vue),登录后解析路由,在动态生成的路由上添加beforeGuard

javascript - 为什么我的无序列表的第一项不包含链接?

iphone - Phonegap iOS 应用程序屏幕在双击时向上滑动