使用数组进行javascript验证
我编写了一个javascript函数来验证用户输入数据是否为空。名为isNotEmpty的函数标识文本框为空。但是,main函数会向JSP页面返回一条真正的语句。因此,表单被提交 2号和3号警报根据表单的输入触发。但1号警报在任何情况下都不会发出 请检查一下并帮助我。 多谢各位使用数组进行javascript验证,javascript,html,forms,jsp,validation,Javascript,Html,Forms,Jsp,Validation,我编写了一个javascript函数来验证用户输入数据是否为空。名为isNotEmpty的函数标识文本框为空。但是,main函数会向JSP页面返回一条真正的语句。因此,表单被提交 2号和3号警报根据表单的输入触发。但1号警报在任何情况下都不会发出 请检查一下并帮助我。 多谢各位 var firstName; var data = new Array(); function formEntryValidationTest() { firstName = document.forms[
var firstName;
var data = new Array();
function formEntryValidationTest() {
firstName = document.forms["regForm"]["firstName"];
data[0] = isNotEmpty(firstName);//check the first name is empty
for(var i=0;i<data.length;i++) {
if(data[i]=="false")
{
alert("Check"); //alert No-1
return false;
}
}
}
// this is the function to check whether the input is not empty
function isNotEmpty(obj) {
if(obj.value!="") {
alert("true"); //alert No-2
return "true";
}
else
{
alert("false");//alert No-3
return "false";
}
}
返回的是字符串false,而不是布尔值false,后者在JavaScript中的计算结果为truthy值 将isNotEmpty中的return语句更改为returntrue;并返回false;以及formEntryValidationTest中的条件!资料[i] 此外,您签入的条件isNotEmpty过于严格。对于undefined和null,它将返回true,这可能是代码无法工作的原因。将其更改为以下内容:
function isNotEmpty(value){
return value ? value.length > 0 : false;
}
然后直接传递输入值,而不是传递输入对象本身:
data[0] = isNotEmpty(firstName.value);
返回的是字符串false,而不是布尔值false,后者在JavaScript中的计算结果为truthy值 将isNotEmpty中的return语句更改为returntrue;并返回false;以及formEntryValidationTest中的条件!资料[i] 此外,您签入的条件isNotEmpty过于严格。对于undefined和null,它将返回true,这可能是代码无法工作的原因。将其更改为以下内容:
function isNotEmpty(value){
return value ? value.length > 0 : false;
}
然后直接传递输入值,而不是传递输入对象本身:
data[0] = isNotEmpty(firstName.value);
您使用的是字符串true和false,而不是布尔值true和false。删除引号,如中所示:
return true
instead of
return "true"
在if语句中执行同样的操作:
if(data[i]==false)
instead of
if(data[i]=="false")
请注意,没有引号您使用的是字符串true和false,而不是布尔值true和false。删除引号,如中所示:
return true
instead of
return "true"
在if语句中执行同样的操作:
if(data[i]==false)
instead of
if(data[i]=="false")
请注意,表单onSubmit中没有引号no通常,我调用了formEntryValidationTest函数。我根据您的说明更改了源代码,没有改进。我找到了一条线索。当我对数据[0]=isNotEmptyfirstName.value进行注释并将条件更改为!isNotEmptyfirstName.value,它工作得非常好。同时,我删除了我在这里提到的评论,同样的问题也发生了。你能说为什么吗?这是我的档案。即使我按照你的指示做了更改,你也会发现错误。我不知道为什么。请参考Submit表单中的链接No,我调用了formEntryValidationTest函数。我根据您的说明更改了源代码,没有改进。我找到了线索。当我对数据[0]=isNotEmptyfirstName.value进行注释并将条件更改为!isNotEmptyfirstName.value,它工作得非常好。同时,我删除了我在这里提到的评论,同样的问题也发生了。你能说为什么吗?这是我的档案。即使我按照你的指示做了更改,你也会发现错误。我不知道为什么。请参考我做过的链接,但问题仍然相同。我做过,但问题仍然相同。它对我有效:它对我有效: