フォームを検証するために JavaScript でクラスを作成しようとしています。これにより、フォーム要素がチェックされ、フィールドに特定の属性があるかどうかが検証されます。
ただし、への呼び出しgetAttribute
は値を返しません。別の変数内の値は取得されませんが、印刷するとうまく機能します。
私のクラスのコードは次のとおりです。
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;
}
}