免责声明-已经检查了先前提交的.innerHTML问题,但是没有一个问题与此特别相关,因为其他大多数问题是由于没有先等待DOM而引起的。 / p>
无论如何,当我使用.innerHTML时,预期的
标记的值将保持不变。我测试了变量-将输入到
标记中-并且它们起作用了,测试是使用警报而不是文本。
可以只使程序使用警报,但似乎可以避免该问题,并且我认为它不那么吸引人。
我希望是.innerHTML标记引起问题-
标记位于我的表单中-所以我将
标记移出了。仍然没有反应,
标签没有变化。
结果,我搬到了.value,期望得到不同的结果,但是没有。相同。
标记永远不会更改其值。
<!DOCTYPE html>
<html>
<head>
<!--JavaScript file-->
<script type="text/javascript" src="PasswordStengthChecker.js"></script>
</head>
<body>
<!--Title-->
<h2>User Login</h2>
<!--Form-->
<form name="login" id="login" action="" method = "post" >
<fieldset>
<p> <h1>Welcome</h1> </p>
<!--Email Address-->
<p>
<label for="email">Email</label>
<input name="email" type="text" id = "formEmail" required>
</p>
<!--Password-->
<p>
<label for="password">Password</label>
<input name="password" type="password" id="formPassword" required>
</p>
<!--Confirm Password-->
<p>
<label for="Confrim Password">Password</label>
<input name="formPassword" type="password" id="formConfirmPassword" required>
</p>
<p>
<!--Submit Form Button-->
<input type="Submit" onclick="passwordChecker()" name="Submit" value="Submit">
<!--Reset Input Boxes Button-->
<input type="reset" name="Reset" value="Reset">
</p>
</fieldset>
</form>
<!--Gets Input from .js File-->
<p name = value = "feedback" >Feedback</p>
</body>
</html>
.js
function passwordChecker()
{
//declare varibales
var fPassword, fConfrimPassword, text;
// Get the value of the input fields for passwords
fPassword = document.getElementsByName("formPassword").value;
fConfrimPassword = document.getElementsByName("formConfrimPassword").value;
//check password is the same
if (fPassword == fConfrimPassword)
{
//test
text = "Passwords Match";
//return text;
}
else
{
//Password dosent match confirmed password
text = "Input OK";
//return text;
}
var feedback = document.getElementsByClassName("feedback");
feedback.value = text;
}
我以前使用过的.innerHTML标记
document.getElementsByClassName("feedback").innerHTML = text;
我也尝试了带返回值的text变量,但没想到需要它们。