2016-08-09 32 views
0

我想根据用户输入的内容(例如密码,用户名,地址等)在我的html页面上打印出一系列错误消息,验证。在我的html页面的面板上打印出错误信息

我的代码如下所示:

function validate(){ 
     var x,y,z; 
     x = document.getElementById("name").value; 
     if (x.length<6){ 
       text="user name too short"; 
     } else { 
      text="validated"; 
     }  
     document.getElementById("aka").innerHTML = text; 
    } 

现在我只能验证一个输入。在这种情况下,输入ID为“名称”。
我想验证所有的输入,如密码也在这个功能。

我该如何在函数中实现它?

我试着添加更多的if语句,接着是另一个document.getElementById("aka").innerHTML = text,但没有奏效,第一次没有打印出来。

+0

在[jsfiddle](https://jsfiddle.net/)上掀起一些东西,所以我们有一个工作示例。我们是开发者,而不是魔术师! – Trasiva

回答

1

创建一个变量并将所有错误消息放在那里。完成后,将该变量的值放在所需元素的innerHTML中。

function validate(){ 
    var x, errors = ""; 

    x = document.getElementById("name").value; 
    if (x.length<6){ 
      errors += "user name too short<br />"; 
    } 

    x = document.getElementById("password").value; 
    if (x.length<6){ 
      errors += "password too short<br />"; 
    } 

    document.getElementById("aka").innerHTML = errors; 
} 
+0

@Patrick Barr,感谢您的编辑:-) –

0

您可以存储文本变量中的所有消息

var text = ""; 
if (x.length<6){ 
    text+="user name too short"; 
} 

if(y.lenght<6) { 
    text+= 'pwd too short'; 
}  
document.getElementById("aka").innerHTML = text; 

另一个选项是使用DOM functions如下:

document.appendChild(document.createTextNode(text)); 

var text =""; 
 
text += "user name too short"; 
 
text += "<br/>pwd too short"; 
 

 
document.getElementById('out1').innerHTML=text; 
 

 

 
document.getElementById('out2').appendChild(document.createTextNode('user name too short')); 
 
document.getElementById('out2').appendChild(document.createTextNode('pwd too short'));
<div id="out1"></div> 
 
<div id="out2"></div>