Ir para conteúdo

POWERED BY:

Arquivado

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

Diego Ronan

Form variavel...

Recommended Posts

Pessoal

 

Peguei um script para limitar um textarea, funcionou legal, o problema é que tenho uns 10 formularios na pagina, as vezes 15, as vezes 5.. como é um valor variavel o codigo que peguei usa o nome do form para fazer o contador funcionar. Acontece que precisaria passar o parametro de que form ele esta trabalhando, e para isto estou passando no contador('nomedoelemento', quantidade de caracteteres, numero que da nome ao form)

 

Na hora de recuperar este "numero que da nome ao form" estou fazendo isso:

 

document.+'nomedoformulario'+.nomedocampo.value

 

Agora, isso existe? Posso alterar o "nome do formulario" desta maneira?

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe, e existem tb formas mais simples de fazer isso.

 

Tente usar por exemplo, o método: getElementsByTagName e então aplicar a tua função num loop, para todos os textareas que precisar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vi gente comentando a respeito do document.forms['NomeDoForm']

 

Mas como traria o resultador que passei la em cima?

 

Assim num rolou... :huh:

 

<script>
 function Contador(field,MaxLength, formName) { 
 obj = document.all(field); 
 if (MaxLength !=0) { 
	if (obj.value.length > MaxLength)  {
		obj.value = obj.value.substring(0, MaxLength); 
	}
 }
	document.forms['+formName+'].contador.value = obj.value.length + '/400';
} 
</script>  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa ai é a função que você está utilizando ?

 

poste o trecho HTML em que você chama ela, e o script que funciona.

A idéia que eu dei, é unificar a chamada, fazendo um loop pelos elementos de name = textarea

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, o codigo que aplico seria este:

 

<b><%=secao("nome")%></b>
<form name="form<%=contador%>" method="post" action="noticias_tags.asp?acao=1">        
<textarea cols="70" name="tags" rows="5" id="tags<%=contador%>"  onkeyup="return  Contador('tags<%=contador%>',400,'form<%=contador%>');"><%=secao("keys")%></textarea>
<input name="contador" type="text" disabled="disabled" id="contador" size="7" maxlength="7">
<input type="submit" value="Atualizar / Adicionar Metas">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo do loop que eu sugeri:

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = function(){
	var textareas = document.getElementsByTagName('textarea');
	
	for( var i=0; i<textareas.length; i++ )
	{
		textareas[i].onclick = function(){
			alert( 'Adicionei a função! conteudo:'+this.value );
		}
	}
}

</script>
</head>
<body>
	<form>
		<textarea name="tal1">Tal 1</textarea>
		<textarea name="tal2">Tal 2</textarea>
		<textarea name="tal3">Tal 3</textarea>
		<textarea name="tal4">Tal 4</textarea>
	</form>
</body>
</html>
Estude.

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.