0

我需要添加一个变量还是什么?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>

好的,我的代码有点工作-如果表单有效,我不确定如何更改“else”语句以使其重定向到下一页..我需要添加变量还是...?所以基本上代码会做我想要的,直到你只输入姓氏字段然后它显示错误消息但它仍然重定向 -
如果两个字段都有效,我如何制作它以便代码重定向到成功页面?

(我对javascript了解不多:/而且我知道你可以让它更简单,但我们必须这样做,所以我们强制代码这样做或其他)

4

1 回答 1

1

这应该可以解决问题:

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

有很多方法可以完成这个简单的任务,这就是使用变量的方式。基本上,如果任何检查失败,变量worked就会被设置为false(表示某些东西没有工作),并且只有当该变量保持不变时(true),用户才能继续下一步。

PS:识别你的代码(看看我的代码比你的更容易阅读吗?)。PPS:你绝对不应该只依赖 JS 来验证你的表单,你也必须在你的服务器上检查它。有人可以轻松绕过这些检查,因为它们只是为了方便。

于 2012-05-28T18:55:22.950 回答