【问题标题】:javascript form validation?javascript表单验证?
【发布时间】:2012-05-28 18:51:28
【问题描述】:

我需要添加一个变量还是什么? 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 了解不多:/ 我知道你可以让它变得更简单,但我们必须这样做,所以我们强制代码这样做或其他)

【问题讨论】:

  • 请缩进您的代码。谢谢。
  • 您可以添加一些布尔变量,如果每个条件都为真,则设置为真,然后使用 if 语句检查两者都为真并从那里继续。不过这有点牵强。如果我不在手机上,我会给你一个合适的解决方案。

标签: javascript forms validation function if-statement


【解决方案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 来验证你的表单,你也必须在你的服务器上检查它。有人可以轻松绕过这些检查,因为它们只是为了方便。

【讨论】:

    猜你喜欢
    • 2015-12-04
    • 2014-11-20
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2011-01-20
    相关资源
    最近更新 更多