javascript表单验证?
我需要添加一个变量还是什么?D:请帮忙javascript表单验证?,javascript,forms,validation,function,if-statement,Javascript,Forms,Validation,Function,If Statement,我需要添加一个变量还是什么?D:请帮忙 <html> <head> <script language="javascript" type="text/javascript"> function sub() { validateForm(); } function validateForm() { if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value =
<html>
<head>
<script language="javascript" type="text/javascript">
function sub()
{
validateForm();
}
function validateForm()
{
if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ")
{
alert("First name must be filled out");
}
if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ")
{
alert("Last name must be filled out");
}
else
{
window.location = "ok.html";
}
}
</script>
</head>
<body>
<form name="myForm">
First name: <input type="text" name="fname">
<br>
Last name: <input type="text" name="lname">
<br>
<input type="button" value="Submit" onclick="sub()">
</form>
</body>
</html>
函数子()
{
validateForm();
}
函数validateForm()
{
if(document.forms.myForm.fname.value==“”| | document.forms.myForm.fname.value==“”)
{
警告(“必须填写姓名”);
}
if(document.forms.myForm.lname.value==“”| | document.forms.myForm.lname.value==“”)
{
警告(“必须填写姓氏”);
}
其他的
{
window.location=“ok.html”;
}
}
名字:
姓氏:
好的,我的代码工作得有点-我不确定如果表单有效,如何更改“else”语句以使其重定向到下一页。。我需要添加变量还是。。。?
因此,基本上,代码执行我想要的操作,直到您只输入姓氏字段,然后显示错误消息,但它仍然重定向-如果两个字段都有效,如何使代码重定向到成功页面?
(我对javascript了解不多:/而且我知道你可以让它变得更简单,但我们必须这样做,因此我们强制代码执行它或其他任何操作)这应该可以做到:
<html>
<head>
<script language="javascript" type="text/javascript">
function validateForm()
{
var worked = true;
if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ")
{
alert("First name must be filled out");
worked = false;
}
if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ")
{
alert("Last name must be filled out");
worked = false;
}
if (worked)
{
window.location = "ok.html";
}
}
</script>
</head>
<body>
<form name="myForm">
First name: <input type="text" name="fname">
<br />
Last name: <input type="text" name="lname">
<br />
<input type="button" value="Submit" onclick="validateForm();">
</form>
</body>
</html>
函数validateForm()
{
var=真;
if(document.forms.myForm.fname.value==“”| | document.forms.myForm.fname.value==“”)
{
警告(“必须填写姓名”);
工作=假;
}
if(document.forms.myForm.lname.value==“”| | document.forms.myForm.lname.value==“”)
{
警告(“必须填写姓氏”);
工作=假;
}
如果(工作)
{
window.location=“ok.html”;
}
}
名字:
姓氏:
有很多方法可以完成这个简单的任务,这就是使用变量的方法。基本上,如果任何检查失败,变量worked
被设置为false
(表示某项操作不起作用),并且只有当该变量保持不变(true
)时,用户才能进入下一步
PS:识别你的代码(看看我的代码如何比你的代码更容易阅读?)。
PPS:你绝对不应该只依靠JS来验证你的表单,你还必须在你的服务器上检查它。有些人可以轻松绕过这些检查,因为它们只是为了方便。请缩进您的代码。谢谢。如果每个条件都为真,您可以添加几个布尔变量设置为真,然后用if语句检查这两个都为真,并从那里继续。不过这有点牵强。如果我不在电话里,我会给你一个合适的解决方案。