javascript表单验证?

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 =

我需要添加一个变量还是什么?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 == " ")
  {
  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语句检查这两个都为真,并从那里继续。不过这有点牵强。如果我不在电话里,我会给你一个合适的解决方案。