Javascript 查找多个变量的值-JS
我有以下JavaScript源代码:Javascript 查找多个变量的值-JS,javascript,loops,Javascript,Loops,我有以下JavaScript源代码: var Fname = document.getElementById("FirstName").value; var Lname = document.getElementById("LastName").value; var email = document.getElementById("Email").value; var password = document.getElementById("Pass").value; var reapeat =
var Fname = document.getElementById("FirstName").value;
var Lname = document.getElementById("LastName").value;
var email = document.getElementById("Email").value;
var password = document.getElementById("Pass").value;
var reapeat = document.getElementById("Repeat").value;
var area = document.getElementById("selectArea").value;
如果每个变量都是空的(
Fname==”
),有没有简单的方法检查它的?如果是,我应该怎么做?如果没有,最简单的方法是什么 如果要对循环执行此操作,则需要可循环的结构中的字段或值,例如数组:
var fields = ["FirstName", "LastName", "Email", "Pass", "Repeat", "selectArea"];
for (var i = 0; i < fields.length; i++) {
if (document.getElementById(fields[i]).value === "") {
alert("Please fill in all fields.");
break; // or do whatever you like here.
}
}
var字段=[“FirstName”、“LastName”、“Email”、“Pass”、“Repeat”、“selectArea”];
对于(变量i=0;i
或者,您可以在标记中为元素提供一个公共类,如:
<input class="noblank" ...>
然后:
var fields = document.getElementsByClassName("noblank");
for (var i = 0; i < fields.length; i++) {
if (fields[i].value === "") {
alert("Please fill in all fields.");
break; // or do whatever you like here.
}
}
var fields=document.getElementsByClassName(“noblank”);
对于(变量i=0;i
基于类的方法有点好,因为如果在html中添加更多必填字段,则根本不必更新JS。
ECMA5
version
var fields = ["FirstName", "LastName", "Email", "Pass", "Repeat", "selectArea"];
fields.some(function(value) {
if (this.getElementById(value).value === "") {
alert("Please fill in the blanks.");
return true;
}
}, document);
或者你可以构建另一个对象来表示缺失的对象
var fields = ["FirstName", "LastName", "Email", "Pass", "Repeat", "selectArea"];
var errors = {};
fields.forEach(function(value) {
if (this.getElementById(value).value === "") {
errors[value] = "Please fill in the blanks.";
}
}, document);
这样您就可以访问
错误对象。另一种解决方案是将对象作为字典使用:
var obj = {
Fname: document.getElementById("FirstName").value,
Lname: document.getElementById("LastName").value,
email: document.getElementById("Email").value,
password: document.getElementById("Pass").value,
reapeat: document.getElementById("Repeat").value,
area: document.getElementById("selectArea").value
};
for (var key in obj) {
if (obj[key]) { //or any other condition
//do stuff
}
};
看起来您正在尝试验证表单。通过使用jQuery之类的库,可以使任务变得更容易
但是,如果您想在纯JS中执行此操作,可以执行以下简单操作:
function formNotEmpty() {
var i, fields = ['FirstName', 'LastName', ... ];
for (i = 0; i < fields.length; i += 1) {
if (fields[i] === '' || fields === null) {
return false;
}
}
return true;
}
函数formNotEmpty(){
变量i,字段=['FirstName','LastName',…];
对于(i=0;i
您可以让它变得非常复杂,查询DOM以动态获取字段,这样就不需要定义字段数组等
请注意,我使用了三重等于运算符(==),而不是双(==),请阅读此处的原因(以及更多提示)谢谢,我更新了问题。该函数仅测试数组中字符串的值,而不是字段的值。空值检查用于什么?