非常基本,我只是想了解如何使用简单的JavaScript 测试表单而不使用jQuery 等。尝试过W3Schools但没有工作。 因此,我尝试使用一个简单的表单而不是一个字段来获取它的工作方式。下面我在表单中放置一个字段,并认为我可以针对firstName字段测试fname变量。
但是会发生什么是警告永远不会在if语句中被命中。如何测试字段firstName?
任何提示都会有所帮助。
function validateForm() {
var fname = document.getElementById("firstName");
if (fname == "") {
alert("first name is a mandatory field");
} else {
document.getElementById("formMessage").innerHTML = fname + " entered.";
}
}

<h2>Question 1 validate with alert popups</h2>
<p>Please enter the following mandatory information</p>
<form name="identification">
<p>First Name:<input type="text" id="firstName" /></p>
<p>
<button type="button" onclick="validateForm()">Submit</button>
</p>
</form>
<p id="formMessage"></p>
&#13;
答案 0 :(得分:1)
您正在比较元素本身。您应该检查元素的value
。
e.g。
var fname = document.getElementById("firstName").value;
答案 1 :(得分:0)
fname是你执行document.getElementById时的元素,所以你必须这样做:
function validateForm() {
var fname = document.getElementById("firstName");
if (fname.value == "") {
alert("first name is a mandatory field");
} else {
document.getElementById("formMessage").innerHTML = fname.value + " entered.";
}
}
如果用户输入一堆空格,您可能还想修剪fname.value。
答案 2 :(得分:0)
使用document.getElementById("firstName").value
获取值。如果你不添加.value
,则意味着它没有读取指定的值。