Help - JavaScript

7 respostas
F

Pessoal tenho uma funcionalidade que tem o seguinte código :
<input name=“radiobutton” type=“radio” value= “” onclick=“setCampo(’<%=1%>’, ‘textfield<%=i%>’)”>

o Problema é que são n campos , e quando clico de um para o outro o numero um fica preenchido ! E gostaria que ele sumisse caso outro campo fosse clicado… entenderam ?
helpp

7 Respostas

M

“setCampo” é uma função javascript ??

Se for o que ela faz ?? ou melhor, post ela aqui !!!

fcoury

Fabiosis,

Seria interessante você mandar a página inteira, ou ao menos o relacionado e o código JavaScript em questão. Seria possível?

Abraços,

F

Segue uma parte do código, espero que ajude …
O setCampo serve apenar para dizer que o campo que eu clicar vai valer 1 …
Os campos nao tem o mesmo nome , são numerados (+i)

Mandei em anexo um exemplo …

<table width=“57%” cellpadding=“0” cellspacing=“0” class=“comBordaSimples”>

<tr>

<td width=“23%” class=“txt” bgcolor="#e2ecf4"><div align=“center”><b>Conta:</b></div></td>

<td width=“22%” class=“txt” bgcolor="#e2ecf4"><div align=“center”><b>Instancia:</b></div></td>

<td width=“10%” class=“txt” bgcolor="#e2ecf4"><div align=“center”><strong>Piloto</strong></div></td>

<td width=“45%” bgcolor="#e2ecf4" class=“txt”><div align=“center”><strong>Sequencia:</strong></div></td>

</tr>

<% for (int i=0; i< vetChamado.size(); i++)

{

instanciasVO ahd3 = (instanciasVO) vetChamado.elementAt(i);

%>

<tr>

<td><div align=“center”><%=ahd3.getX_ACCT_ID_NUM()%></div></td>

<td><div align=“center”><%=ahd3.getINSTANCIA()%></div></td>

<td><div align=“center”><span class=“txt”>

<input name=“radiobutton” type=“radio” value= “” onclick=“setCampo(’<%=1%>’, ‘textfield<%=i%>’)”>
&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
				   &lt;td&gt;&lt;div align="center"&gt;&lt;span class="txt"&gt;
	               &lt;input name=&lt;%= "textfield" + i%&gt; type="text" class="style1" value="" size="03" maxlength="10"&gt
		             &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
                 &lt;%}              
                 %&gt;
               &lt;/tr&gt;
          &lt;/table&gt;


fcoury

Veja o exemplo que eu fiz:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
		<script language="JavaScript">
			function limpaCampo(campo) {
				campo.value = '';
			}
		
			function setaCampo(campo, valor) {
				campo.value = valor;
			}
		
		</script>
	</head> 
	<body>
		<form name="form">
			<table>
			<tr><th>nome</th><th>idade</th></tr>
			<tr><td><input type="radio" name="radiobutton" value="1" onclick="setaCampo(form.campo1, '1');" onblur="limpaCampo(form.campo1);"></td><td><input name="campo1" value=""></td></tr>
			<tr><td><input type="radio" name="radiobutton" value="2" onclick="setaCampo(form.campo2, '1');" onblur="limpaCampo(form.campo2);"></td><td><input name="campo2" value=""></td></tr>
			</table>	
		</form>
	</body>
</html>

Então você pode usar no seu caso:

<input name="radiobutton" type="radio" value= "" onclick="setaCampo(nomeDoSeuForm.textfield<%=i%>, '1');" onblur="limpaCampo(nomeDoSeuForm.textfield<%=i%>);">
fcoury

... na verdade o código que eu postei tem um problema: quando você tira o foco dos radiobuttons todos os textos ficam em branco. Para resolver isso eu usaria algo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
		<script language="JavaScript">
			function setaCampo(campo, valor) {
				limpaCampos();
				campo.value = valor;
			}
		
		</script>
	</head> 
	<body>
		<script language="JavaScript">
			function limpaCampos() {
				form.campo1.value = '';
				form.campo2.value = '';
			}
		</script>
		<form name="form">
			<table>
			<tr><th>nome</th><th>idade</th></tr>
			<tr><td><input type="radio" name="radiobutton" value="1" onclick="setaCampo(form.campo1, '1');" onblur="limpaCampo(form.campo1);"></td><td><input name="campo1" value=""></td></tr>
			<tr><td><input type="radio" name="radiobutton" value="2" onclick="setaCampo(form.campo2, '1');" onblur="limpaCampo(form.campo2);"></td><td><input name="campo2" value=""></td></tr>
			</table>	
		</form>
	</body>
</html>

... e aplicando ao seu problema, colocaria isso antes do seu primeiro for:

<script language="JavaScript">
			function limpaCampos() {
				<% for (int i=0; i< vetChamado.size(); i++) { %>
					form.campo<%=i%>.value = '';
				<% }%>
		</script>

e alteraria cada um dos radios para:

<input name="radiobutton" type="radio" value= "" onclick="setaCampo(nomeDoSeuForm.textfield<%=i%>, '1');">

Abraços!!!

F

cara valeu pela ajuda…

Charlie_Brown

Fabiosis:

o Problema é que são n campos , e quando clico de um para o outro o numero um fica preenchido ! E gostaria que ele sumisse caso outro campo fosse clicado… entenderam ?
helpp

Eles estão todos com o mesmo nome (name) dentro do mesmo form?

Criado 24 de outubro de 2006
Ultima resposta 24 de out. de 2006
Respostas 7
Participantes 4