Uncaught TypeError: Impossible d'appeler la méthode "toString" de null

Je suis en train de créer une classe en JavaScript pour valider un formulaire. Que vais vérifier les éléments de formulaire et de valider un champ si il a un attribut spécifique.

Toutefois, l'appel à getAttribute n'est pas de retourner une valeur. Il n'est pas obtenir la valeur à l'intérieur d'une autre variable, mais, si j'ai l'impression, il fonctionne bien.

Voici le code de ma classe:

function valida() {
document.getElementById("msgDiv").innerHTML="";
var totalErros=0; 
var x=document.getElementById("frm1");
for (var i=0;i<x.length;i++){
var input=document.getElementsByTagName("input")[i];
var campo=input.getAttribute("id");
var tipo=input.getAttribute("tipo");
var nome=input.getAttribute("nome");
var id=campo.toString(); //the error goes here
//var valor=_$(id).value;
alert(campo);
switch (tipo) {
case "obrigatorio":
if(document.getElementById(id).value==""){
document.getElementById("msgDiv").innerHTML+="Deu erro no campo "+nome+"<br />"; 
totalErros++;}
break
case "oemail":
if(document.getElementById(id).value==""){
document.getElementById("msgDiv").innerHTML+="Deu erro no campo "+nome+"<br />"; 
totalErros++;}
break
case "email":
if(!ValidaEmail(document.getElementById(id).value)){
document.getElementById("msgDiv").innerHTML+="O "+nome+" que você informou é inválido "+document.getElementById(id).value+"  <br />"; 
totalErros++;}
break
default:
document.getElementById("msgDiv").innerHTML+="<br />";
}            
}
if(totalErros==0) {  
document.getElementById("msgDiv").innerHTML="Agora foi "+ totalErros;
return true;
}
}
  • Votre anglais est assez bon, Toni!
  • Faire var input=document.getElementsByTagName("input") maintes et maintes fois dans la boucle for est mauvais pour la performance.