JavaScript在我运行代码时,将自身分配给自身的变量会导致代码出现问题

时间:2017-10-03 03:14:31

标签: javascript html

我正在为课堂作业,教师告诉我们,这是一本书,这是一个网站,我希望你在这个日期之前做到这一点,如果你失败不是我的错。我已经查看了网站,书籍以及stackOverflow上的几个地方,但是我认为我没有看到像这样的问题,这个问题已经解释得很好,我可以及时解决问题。周三中午(UTC -5)。

我有一个注册表单的模型作为HTML页面(甚至不是HTML5,请不要问)这是代码。

function bucc_registration()
{
	//THE FOLLOWING ALERT IS FOR TROUBLESHOOTING PURPOSES ONLY
	//alert("inside BucC_Registration()");

	//GET THE VALUES FROM THE FORM AND STORE IN THE VARIABLES FOR VALIDATION
	var fullName = document.getElementById("buccFName").value;
	var eMail = document.getElementById("buccEMail").value;
	var phone = document.getElementById("buccPhone").value;
	var pass = document.getElementById("buccPass").value;
	var passConf = document.getElementById("buccPassConf").value;

	//CLEAR OUT ALL OLD MESSAGES AND ERRORS
	document.getElementById("error1").innerHTML = "";
	document.getElementById("error2").innerHTML = "";
	document.getElementById("error3").innerHTML = "";
	document.getElementById("error4").innerHTML = "";
	document.getElementById("error5").innerHTML = "";
	document.getElementById("feedback").innerHTML = "";

	//CHECK ALL VALUES FOR NON-BLANK ENTRIES
	if (fullName == "" || fullName == null || fullName == fullName)
	{
		document.getElementById("error1").innerHTML = "Please insert your full name.";

		return false;
	}
	
	//ONCE THEY BYPASS THE INPUT TEST, THEN THE VALIDATION TESTS CAN BEGIN

	//fullName NEEDS NO FURTHER VALIDATION
	//eMail NEEDS NO FURTHER VALIDATION

	//VALIDATION FOR PHONE NUMBER TO MAKE SURE IT WAS ENTERED IN THE XXX-XXX-XXXX FORMAT AND AS NUMBERS
	return false;
}
<section>
		<form id="frm1" onsubmit="return bucc_registration()" action="">
    
			<input type="text" name="buccFName" id="buccFName" /> Full Name &nbsp;<font color="red"><b id="error1"> </b></font><br />
      
			<input type="text" name="buccEMail" id="buccEMail" /> Email &nbsp;<font color="red"><b id="error2"> </b></font><br />
      
			<input type="text" name="buccPhone" id="buccPhone" placeholder="XXX-XXX-XXXX" /> Phone &nbsp;<font color="red"><b id="error3"> </b></font><br />
      
			<input type="text" name="buccPass" id="buccPass" /> Password &nbsp;<font color="red"><b id="error4"> </b></font><br />
      
			<input type="text" name="buccPassConf" id="buccPassConf" /> Password Confirmation &nbsp;<font color="red"><b id="error5"> </b></font><br />

			<input type="submit" name="reset" value="Submit"> &nbsp;<input type="reset" name="reset">
		</form>
<script src="scripts/BucC_Registration.js" type="text/javascript"></script>

我的问题是,当我在任何浏览器中运行完整代码时,JavaScript将使用空白或用户数据填充变量。我试图将用户名留空,以确保错误消息能够正确显示,并在出现问题时显示。它会出错,当我查看为什么它没有显示错误时它会告诉我这是因为变量持有一个值。基本上var fullName === fullName; (是的,我确实检查过,确实有效)

我不知道为什么或如何。但我相当肯定,一旦我把这个解整了,其他4个变量对我这样做(eMail,pass和passConf)将不再是一个问题。

目前的问题是这个。如何阻止变量成为自己的......内容?它几乎就像它的阴影一样,我无法让它停在4个不同的变量上而且我没有故意这样做。

0 个答案:

没有答案