0

我正在尝试实现在单个警报消息中显示多个验证错误消息的功能。

我有三个文本字段,检查用户是否在该文本字段中输入了值。如果用户没有输入任何值并尝试提交表单,我必须向用户显示三个字段是强制性的。

一段代码如下:

function validateInput(ele, note, Name) 
{   
var val = ele.value;    
 if (val == '')
 {      
     note = note +Name+"element can not be Empty; \n";
     return false;
 }
return true;
}

function validateForm() {
var note =  "";
var ele1 = validateInput(document.getElementById('input1'), note, 'From');
var ele2 = validateInput(document.getElementById('input2'), note, 'To');
var ele3 = validateInput(document.getElementById('input3'), note, 'CC');
alert(note);
return (ele1 && ele2 && ele3);  
}
4

2 回答 2

0

您可以使用对象通过引用传递值,但这不是必需的。尝试这个:

function validateInput(ele, Name) 
{   
     var val = ele.value;        
     return val == '' ? note +Name+"element can not be Empty; \n" : "";
}

function validateForm() {
var note =  "";
note += validateInput(document.getElementById('input1'), 'From');
note += validateInput(document.getElementById('input2'), 'To');
note += validateInput(document.getElementById('input3'), 'CC');
var isValid = note == "";
if( !isValid )
    alert(note);
return isValid;  
}
于 2013-10-12T17:38:09.067 回答
0

字符串不是对 String 对象实例的引用。

您应该note在父上下文中声明 var:

var note = '';
function validateInput(ele, Name) 
{   
var val = ele.value;    
 if (val == '')
 {      
     note = note +Name+"element can not be Empty; \n";
     return false;
 }
return true;
}

function validateForm() {
note =  "";
var ele1 = validateInput(document.getElementById('input1'), 'From');
var ele2 = validateInput(document.getElementById('input2'), 'To');
var ele3 = validateInput(document.getElementById('input3'), 'CC');
alert(note);
return (ele1 && ele2 && ele3);  
}
于 2013-10-12T17:38:15.693 回答