Ir para conteúdo

POWERED BY:

Arquivado

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

Fabrici0

Input - maxlength

Recommended Posts

pq q você quer isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><style>	label{		display:block;	}</style><script>		window.onload = function(){		var arrayElements = document.forms["frmUsuario"].elements;		for(i=0;i<arrayElements.length;i++){			if(arrayElements[i].attributes["maxLength"]){				arrayElements[i].maxLength=0;			}		}	}	</script></head><body><form action="#" name="frmUsuario" id="frmUsuario"><label for="nome">Nome:</label><input type="text" name="nome" id="nome" size="10" maxlength="10" /><label for="sobrenome">Sobrenome:</label><input type="text" name="sobrenome" size="10" maxlength="10" id="sobrenome" /><br clear="all"><button type="button" id="btnEditar">Editar</button><button type="button" id="btnGravar">Gravar</button></form></body></html>

 

pronto ta zerado mas naum funfa pq ta zerado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é a melhor ptática, vai lá: gostaria de desabilitar todos os inputs text do html, e logo após, habilitar o input por id que contivesse o dado repetido para o jogador consertar.

 

...		if(id.value == idLinha.value && id.id != idLinha.id && id.value!= ""){		document.getElementById(idLinha.id).style.backgroundColor='#ffcc33';				//entraria o desabilitar todos inputs		//aqui habilitaria apenas id.id}...
vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora esse sim funfa c você quer tirar maxLength

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><style>	label{		display:block;	}</style><script>		window.onload = function(){		var arrayElements = document.forms["frmUsuario"].elements;		for(i=0;i<arrayElements.length;i++){			if(arrayElements[i].attributes["maxLength"]){				//arrayElements[i].maxLength=0;				arrayElements[i].removeAttribute("maxLength");			}		}	}	</script></head><body><form action="#" name="frmUsuario" id="frmUsuario"><label for="nome">Nome:</label><input type="text" name="nome" id="nome" size="10" maxlength="10" /><label for="sobrenome">Sobrenome:</label><input type="text" name="sobrenome" size="10" maxlength="10" id="sobrenome" /><br clear="all"><button type="button" id="btnEditar">Editar</button><button type="button" id="btnGravar">Gravar</button></form></body></html>

para desabilitar é simples

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><style>	label{		display:block;	}</style><script>		window.onload = function(){		var arrayElements = document.forms["frmUsuario"].elements;		for(i=0;i<arrayElements.length;i++){			arrayElements[i].disabled=true;		}	}	</script></head><body><form action="#" name="frmUsuario" id="frmUsuario"><label for="nome">Nome:</label><input type="text" name="nome" id="nome" size="10" maxlength="10" /><label for="sobrenome">Sobrenome:</label><input type="text" name="sobrenome" size="10" maxlength="10" id="sobrenome" /><br clear="all"><button type="button" id="btnEditar">Editar</button><button type="button" id="btnGravar">Gravar</button></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O script que você fez é ótimo, é possível indexar o vetor pelo id dos elements?

 

Estou com algo assim:

 

if(id.value == idLinha.value && id.id != idLinha.id && id.value!= "")		{	   				var arrayElements = document.forms["frmBit"].elements;				for(i=0;i<arrayElements.length;i++)			{						 arrayElements[i].disabled=true;				}			document.getElementById(idLinha.id).style.backgroundColor='#ffcc33';						// idéia -> arrayElements[id.id].enable=true;					}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!!

 

if(id.value == idLinha.value && id.id != idLinha.id && id.value!= "")		{	   				var arrayElements = document.forms["frmBit"].elements;				for(i=0;i<arrayElements.length;i++)				{					arrayElements[i].disabled=true;					//alert(arrayElements[i]);				}			document.getElementById(idLinha.id).style.backgroundColor='#ffcc33';			arrayElements[id.id].disabled=false;		}			else if(id.id != idLinha.id)		{			document.getElementById(idLinha.id).style.backgroundColor='#fff';				var arrayElements = document.forms["frmBitSudoku"].elements;				for(i=0;i<arrayElements.length;i++)				{					arrayElements[i].disabled=false;					//alert(arrayElements[i]);				}		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal o meu programa acima possuia um erro de lógica que não achei.

Resolvi fazer um teste para desabilitar todos os forms quando o usuário digitar 1(int).

 

O mesmo deverá deixar habilitado apenas o campo que possui 1 para o usuário poder trocar, até agora tenho:

<script type="text/javascript">	function chama(codigo)	{		var valColuna;		for(i=1;i<4;i++)		{			valColuna = document.getElementById("1-"+i).value;			if(valColuna != "" && valColuna == "1")			{				alert("chegou");				document.getElementById('1-'+i).style.backgroundColor='#ffcc33';							//desabilitar todos os campos								//habilitar por id o form que possui 1			}		}	}	</script><input type="text" maxlength="1" value="" id="1-1" onclick="java script:this.select();"  onchange="java script:chama(this);"/><input type="text" maxlength="1" value="" id="1-2" onclick="java script:this.select();"  onchange="java script:chama(this);"/><input type="text" maxlength="1" value="" id="1-3" onclick="java script:this.select();"  onchange="java script:chama(this);"/>

Qual a melhor função para fazer isso que estou tentando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pera ai c você for usar o onchange para mudar a cor do proprio você pode fazer assim!!

 

<input type="text" maxlength="1" value="" id="1-1" onclick="this.select();"  onchange="if(this.value!='' && this.value=='1'){this.style.backgroundColor='#ffcc33';}"/>

ai quando o usuario trocar o valor e for 1 ele vai trocar a cor do fundo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, trocar a cor até ta funcionando acho que foi até você que me ajudou com o código do background, mas o problema é que necessito desabilitar os outros forms e habilitar somente o que mudou a cor no caso do teste que to fazendo.

 

Eu tinha usado seu código dentro do chama()

 

var arrayElements = document.forms["frmUsuario"].elements;		for(i=0;i<arrayElements.length;i++){			arrayElements[i].disabled=true;		}

Mas complica para mim na hora de habilitar por id o input text, pois no script original tenho: 81

 

Não sei o que tava errado com o código antigo na hora de habilitar ele sempre estava tava pegando o próximo input text. Dae deletei todo e resolvi refazer nesse.

 

OBS.: Eu tava precinsando chamar dentro da função mesmo, pois vou fazer os inputs dinâmicos com php e vou precisar manipular outras coisas dentro do chama()

Compartilhar este post


Link para o post
Compartilhar em outros sites

ué!!

 

primeio você verifica o valor c vai trocar o fundo ou naum!! depois você desabilita tudo e habilita só este!!

 

<script>		desabilitaTudo = function(){		var arrayElements = document.forms["frmBit"].elements;		for(i=0;i<arrayElements.length;i++){			arrayElements[i].disabled=true;		}	}	</script>

<input type="text" maxlength="1" value="" id="1-1" onclick="this.select();"  onchange="if(this.value!='' && this.value=='1'){this.style.backgroundColor='#ffcc33';desabilitaTudo();this.disabled=false;}"/>

com isso tenho certeza q vai rolar!! mas acredito q agora você vai dizer q tem q habilitar tudo depois!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Void!! Quando o jogo estiver pronto mando o link a todos.

Em relação a dizer que tem que habilitar tudo depois da mudança do valor, seu raciocínio lógico foi lógico! :P

 

Porém, com seu apoio anterior consegui engatinhar sozinho no js nesse ponto.

 

Segue o código a quem interessar:

<script type="text/javascript">	function chama(codigo)	{		var valColuna,coluna;		var arrayElements = document.forms["frmBit"].elements;		for(i=1;i<4;i++)		{			valColuna = document.getElementById("1-"+i).value;			if(valColuna != "" && valColuna == "1")			{				document.getElementById('1-'+i).style.backgroundColor='#ffcc33';			   		for(aux=0;aux<arrayElements.length;aux++)				{					arrayElements[aux].disabled=true;				}			}				else if(codigo.id.charAt(2) == i && valColuna != "1" )			{			 	document.getElementById('1-'+i).style.backgroundColor='#fff';				for(aux=0;aux<arrayElements.length;aux++)				{					arrayElements[aux].disabled=false; //or enable=true;				}			}		}	}	</script><form name="frmBit" action="a.php" method="POST" enctype="text/plain"><input type="text" maxlength="1" value="" id="1-1" onclick="java script:this.select();"  onchange="java script:chama(this);this.disabled=false;"/><input type="text" maxlength="1" value="" id="1-2" onclick="java script:this.select();"  onchange="java script:chama(this);this.disabled=false;"/><input type="text" maxlength="1" value="" id="1-3" onclick="java script:this.select();"  onchange="java script:chama(this);this.disabled=false;"/></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.