首先是代码:
function searchItems(){
var noParameters = new Boolean(0);
var formFields = $('form')[0].elements;
for(i=0;1<formFields.length;i++){
if(formFields[i].type == 'text'){
if(!(formFields[i].value)){
noParameters = 0;
}
}
}
alert(noParameters.valueOf());
}
此函数在表单提交时调用。它的目的是查看是否所有“文本”类型的表单字段都没有值(空输入框)。
当我认为我应该收到警报时,我没有收到警报。布尔变量在声明的时候就被初始化了,所以里面有一个值。if 语句都可以正常工作,我已经反复检查过。我在浏览器中遇到的唯一错误是“类型为空或不是对象”,它位于将表单字段类型与“文本”进行比较的行上。
我尝试了不同的警报语法但没有成功:noParameters.toString(),将 noParameters.valueOf() 分配给一个变量,然后发出警报,'true' 和 'false' 而不是 0 和 1。为什么我的警报没有节目?