JavaScript登录表单未验证

时间:2018-10-27 02:27:52

标签: javascript forms validation login

晚上好

我正在尝试创建一个简单的JavaScript登录表单,该表单仅通过检查已声明的1个特定电子邮件地址和已声明的1个密码来进行验证。

但是,无论在字段中键入什么内容,即使什么都没有,单击提交按钮后,用户都将直接转到所需的页面。

我需要它仅在电子邮件地址和密码正确的情况下才允许所需的页面。否则,通知他们这是不正确的。

这里是[codepen][1]的链接,因此您可以查看页面和脚本。

https://codepen.io/m0rrisim0/pen/bmzyqj

在弄清脚本未通过验证的原因时,我们将提供任何帮助。

2 个答案:

答案 0 :(得分:1)

您必须使用document.getElementById方法中的属性值,  类似于以下示例:document.getElementById(“ UserName”)。value

function validate() {
    'use strict';

    var UserName = document.getElementById('UserName').value;
    var email = "adrian@tissue.com";
    var Password = document.getElementById('Password').value;
    var pass = "welcome1";

    if ((UserName == email) && (Password == pass)) {
        return true;
    } else {
        alert("UserName and/or Password Do Not Match");
        return false;
    }
}

您表单的输入缺少id属性,应在提交事件时返回该函数。

<form action="Issues.html" method="post" id="loginform" onsubmit="return validate()">
    UserName:
    <input type="text" name="UserName" id="UserName">
    <br>
    <br>
    Password:
    <input type="password" name="Password" id="Password">
    <hr>
    <input type="submit" value="Submit">
</form>

答案 1 :(得分:0)

您的问题是using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainCharacterMove : MonoBehaviour { float MoveSpeed; // Use this for initialization void Start () { GameObject BaseCharacter = GameObject.Find ("BaseCharacter"); MainCharacterVarsScript mainCharacterVarsScript = mainCharacterVarsScript.GetComponent<MainCharacterVarsScript>(); mainCharacterVarsScript.CharacterSpeed = MoveSpeed; } // Update is called once per frame void Update () { } } ,此函数需要一个参数并导致错误。由于该错误,行getElementById()从未到达,因此Submit按钮提交表单而不调用validate函数。 无需将此行放在if语句中,但是如果您希望在没有括号的情况下将其稍微更改为loginform.onsubmit = validate;,则这种方法的结果是js中的函数是正确的。 您可以在此处检查代码的工作版本:

getElementById

https://codepen.io/francispires/pen/mzvYKX 您可以改善此验证