Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

David Figueiredo

[Resolvido] Problemas com função Javascript

Recommended Posts

Boa noite a todos!

 

estou com um formulário de cadastro onde alguns campos text tenho que deixar pra digitar só numeros ai peguei uma função que já usava em outros formulários mais nesse ñ esta funcionando. gostaria de que vocês me ajudassem dando uma analisada no código, segue ele abaixo:

 

<script>
function fnTrapKD(){
        if(event.keyCode < 48 || event.keyCode >57){
        event.returnValue=false;
        }
}

</script>
<table width="856" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><form id="form1" name="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>?menu=cadastro&tipo=imobiliaria&cadastro=geral">
      <table width="856" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td colspan="4" align="right" class="texto"> </td>
          </tr>
        <tr>
          <td width="25%" align="right" class="texto">*Razão Social: </td>
          <td width="25%"><input name="razao_social" type="text" class="textfild" id="razao_social" 
		  style="text-transform: uppercase;" onchange="this.value=this.value.toUpperCase()" size="30" /></td>
          <td width="25%" align="right" class="texto"> </td>
          <td width="25%"> </td>
        </tr>
        <tr>
          <td align="right" class="texto">*CNPJ: </td>
          <td><input name="cnpj" type="text" class="textfild" id="cnpj" onkeypress="fnTrapKD();" /></td>
          <td align="right" class="texto"> </td>
          <td> </td>
        </tr>
        <tr>
          <td align="right" class="texto">*CRECI:</td>
          <td valign="middle"><input name="creci" type="text" class="textfild" id="creci" onchange="this.value=this.value.toUpperCase()" 
		  style="text-transform: uppercase;" /></td>
          <td align="right" class="texto"> </td>
          <td> </td>
        </tr>
        <tr>
          <td align="right" class="texto">*Junta Comercial </td>
          <td valign="middle"><input name="Junta_comercial" type="text" class="textfild" id="Junta_comercial" onkeypress="fnTrapKD();" maxlength="15" /></td>
          <td align="right" class="texto"> </td>
          <td> </td>
        </tr>
        <tr>
          <td align="right"><span class="texto">*Telefone:</span></td>
          <td><input name="telefone" type="text" class="textfild" id="telefone" onkeypress="fnTrapKD();" maxlength="14" /></td>
          <td align="right"> </td>
          <td align="right"> </td>
        </tr>
        <tr>
          <td align="right"><span class="texto">*E-mail: </span></td>
          <td><input name="email" type="text" class="textfild" id="email" /></td>
          <td align="right"> </td>
          <td align="right"> </td>
        </tr>
        <tr>
          <td align="right"> </td>
          <td> </td>
          <td align="left"><input name="Submit" type="submit" class="botao" value="Cadastrar" /></td>
          <td align="right"> </td>
        </tr>
      </table>
        </form>
    </td>
  </tr>
</table>

 

aguardo o retorno de vocês, desde já obg!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta a seguinte funçao cara

 

function num(dom){
dom.value=dom.value.replace(/\D/g,'');
}

e no seu html assim

 

<input type="text" onkeypress="num(this);">

Fiz o codigo aqui rapidao, se nao funcionar fala ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionou, mais ainda ta deixando digitar uma caracter diferente de número, vou explicar melhor:

 

se eu digitar qualquer letra ou traço ou acento ele aparece mais trava, ñ sai do canto.

 

se você puder me ajudar de novo fico grato. aguardo retorno!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abaixo outra maneira de validar campos permitindo apenas entradas numéricas.

 

Testado no FF e IE7:

<script type="text/javascript">
var trava = false;
var iLength = 0;

function contar(id){
	var objCampo = document.getElementById(id);
	
	if (trava == false) {
	 	trava = true;
		iLength = objCampo.value.length;
	}
}

function fnTrapKD(id){
	if (trava == true) {
	
		var objCampo = document.getElementById(id);
		var RegExp = /^[\d]+$/;

		if (objCampo.value.search(RegExp) == -1) {
			objCampo.value = objCampo.value.substr(0,iLength);
		}
	}	
	trava = false;
	iLength = 0;
}
</script>

Pressione e segure teclas não númericas para ver o resultado:
<br><br>
<form name="form1" action="" method="post">
<table width="856" border="0" cellpadding="0" cellspacing="0">
<tr>
	<td width="25%" align="right" class="texto">*Razão Social: </td>
	<td width="25%"> 
<input type="text" name="razao_social" id="razao_social" size="30" onkeydown="contar('razao_social')" onkeyup="fnTrapKD('razao_social')"/></td>
	<td width="25%" align="right" class="texto"> </td>
	<td width="25%"> </td>
</tr>
<tr>
	<td align="right"> </td>
	<td> </td>
	<td align="left"><input name="Submit" type="submit" value="Cadastrar" /></td>
	<td align="right"> </td>
</tr>
</table>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.