Jump to content
Fórum Script Brasil
  • 0

Erro no meu codigo


homosapiens

Question

Ola, escrevi um codigo em javascript a fim de comparar os caracteres digitados num dado formulario, e assim coibir que o usuario digite valores não desejados como cifrao "$", aspas duplas", aspas simples ', entre outros; porem o não vem dando resultado e não esta aparecendo nenhuma mensagem de erro, se alguém souber consertar ou indicar onde estou errando agradeço:

<html>
<head>
&lt;script type="text/javascript">
 function empty(v){
  if (v==null || v==0 || v=='' || v==""){ 
   return true
  } else {
   return false
  }
 }

 function Caracter(campo, frm) {
  var chars=new Array("a","A","B","b","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J","k","K","l","L","m","M","n","N","o","O","P","p","q","Q","r","R","s","S","t","T","u","U","v","V","x","X","y","Y","z","Z","-",",","á","Á","à","À","â","Â","ã","Ã","ç","Ç","é","É","ê","Ê","í","Í","ó","Ó","ô","Ô","õ","Õ","ú","Ú"," ",".");
   var tamC=chars.length;
   var tamV=campo.length;
   var saida=true;
   var comp="";
   for(i=0; i<tamV; i++) {
    comp=frm.campo.substr(i,1);
    for(j=1; j<=tamC; j++) {     
     if(comp==chars[j]) {
      saida=true;
      exit;
     } else {
      saida=false;
     }    
    }
    if(saida==false) {
     exit;
    }
   }
   
  if(saida==false) {
   frm.info.value="R";
   frm.campo.value="Reprovado, digite novamente...";
   frm.campo.focus();
  } else {
   frm.info.value="Ok";
  }
 }
</script>
<title>Mascaras</title>
</head>
<body class=xXxbody>
<form method=post action=# name=frm1>
 Cliente:<input type=text name=cliente value="" maxlength=60 onblur="Caracter(cliente,frm1);"><input type=text name=info value="" disabled size=1>
 <br>
 Rua:<input type=text name=rua value="" onblur="Caracter(rua,frm1);">
</form>
</body>
</html>

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Vamos lá. Vamos por parte. Fiz algumas observações no seu cod. Tire minhas dúvidas para que possamos continuar trabalhando.

<html>

<head>

<script type="text/javascript">

//você escreveu essa função mas não a usou em nada

function empty(v)
{
    //Comece a comentar algumas coisas para ficar mais claro para quem está analisando os seus códigos

    if (v==null || v==0 || v=='' || v=="")

        return true; //quando o return é acionado nenhuma linha abaixo é mais executada, portanto não precisa do else.

    return false;

}


//procure trabalhar com ids, e com o método do objeto document, getElementById('id'). Assim terá acesso a todas as propriedades do elemento passado como parâmetro

function caracter(id)
{
    var frmObj = document.getElementById(id);

    var chars = new Array("a","A","B","b","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J","k","K","l","L","m","M","n","N","o","O","P","p","q","Q","r","R","s","S","t","T","u","U","v","V","x","X","y","Y","z","Z","-",",","á","Á","à","À","â","Â","ã","Ã","ç","Ç","é","É","ê","Ê","í","Í","ó","Ó","ô","Ô","õ","Õ","ú","Ú"," ","."); //

    var tamC=chars.length; //o que são C e V?

    var tamV=campo.length;

    var saida=true;

    var comp="";

    for(i=0; i < tamV; i++) {

        comp=frm.campo.substr(i,1); //para que serve esta linha?
    

    for(i=1; i<=tamC; i++)
    {

        if(comp==chars[i]){

            saida=true;

            exit; //você quis dizer "break" para sair do loop?

        } else {

            saida=false;

        }     

     }

     if(saida==false){

        exit;

     }

    }

    

    if(saida==false) {

        frm.info.value="R";

        frm.campo.value="Reprovado, digite novamente...";

        frm.campo.focus();

    } else {

        frm.info.value="Ok";

    }

}

</script>

<title>Mascaras</title>

</head>

<body class=xXxbody>

<form method=post action=# name="frm1"> <!--nomeou o formulário como frm, e depois tentou manipulá-lo como frm1-->

Cliente:
    <input
        type="text"
        id="cliente"
        name="cliente"
        value=""
        maxlength="60"
        onblur="caracter('cliente', 'frm1');"
    >
    <input
        type="text"
        id="info"
        name="info"
        value=""
        disabled="disabled"
        size="1"
    >

<br>

Rua:
    <input
        type="text"
        id="rua"
        name="rua"
        value=""
        onblur="caracter('rua','frm1');"
    >

</form>

</body>

</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...