晚上好
我正在尝试创建一个简单的JavaScript登录表单,该表单仅通过检查已声明的1个特定电子邮件地址和已声明的1个密码来进行验证。
但是,无论在字段中键入什么内容,即使什么都没有,单击提交按钮后,用户都将直接转到所需的页面。
我需要它仅在电子邮件地址和密码正确的情况下才允许所需的页面。否则,通知他们这是不正确的。
这里是[codepen][1]
的链接,因此您可以查看页面和脚本。
https://codepen.io/m0rrisim0/pen/bmzyqj
在弄清脚本未通过验证的原因时,我们将提供任何帮助。
答案 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