Ir para conteúdo

POWERED BY:

Arquivado

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

Kika_Epilética

[Resolvido] Passanco parametros com Javascript

Recommended Posts

Boa noite Galera do Imaster http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Estou quebrando a cuca pra conseguir resolver esse problema.

OBS.: Utilizo a linguagem Java. E nesse caso estou usando JSTL.

 

É o seguinte :

 

Sou obrigada a fzr essa tarefa em um frame. Até aí, td bem. a minha página é dividida em topo, esquerda e direita.

Na minha esquerda, tem um pequeno formulário com os campos Nome e Login, onde eu faço uma busca ao apertar o botão buscar.

Ao clicar nesse botão, o frame esquerdaBusca seria acionado, aparecendo em um botão o nome da pessoa que foi buscado, e ao clicar nesse botão, os dados

devem aparece no frame ao lado (direita) na tela de alteraçao para poder alterar/excluir. Problema : Não consigo fazer uma função javascript para

que ao apertar o botão, passe o parâmetro para a tela ao lado com os dados preenchidos.

 

Meu frame esquerda tá com o forme da seguinte maneira :

< form action="../ControladorSistemaUsuarioBusca" method="post" name="buscar">  
		  <input name="buscarUsuario" type="submit" value="" id="botaoBuscarUsuario" >  
	</form>

Ao clicar nesse botão, o frame esquerdaBusca é acionado. Parte do código :

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
 <%@page contentType="text/html" pageEncoding="UTF-8"%>  
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
	"http://www.w3.org/TR/html4/loose.dtd">  
   
 <html>  
	 <head>  
		 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
			 <link rel="stylesheet" type="text/css" href="../Recursos/Styles/cssSistemaUsuario.css">  
				 <link rel="stylesheet" type="text/css" href="Recursos/Styles/cssSistemaUsuario.css">  
		 <title>JSP Page</title>  
   
		 <script language="javascript">  
			 function passaValor(usuario)  
			 {  
				 getElementById("linkar").action.value="../ControladorSistemaUsuarioBusca?usuarioLogin=usuario";  // Não sei como passar o parametro   
				 getElementById("linkar").submit();  
			 }  
		 </script>  
		</head>  
		<body style="background-color:white; overflow:auto; overflow-x:auto;">  
		  <form name="linkar" method="post">  
			<div id="esquerdaBusca">  
   
			  <c:forEach var="usuario" items="${listaUsuarios}">  
			  <div id="{usuario.nome}">  
				 <input type="button" value="${usuario.nome}" onclick="passaValor(usuario)">  
			  </div>  
		   </c:forEach>  
		   </div>  
		 </form>  
	 </body>  
 </html>

 

Os dados deveriam ir para essa página : direita.jsp(parte do codigo)

 

<body>  
 <div id="direitaTela"><br><br>  
 <fieldset><legend align="center">Dados do Usuário</legend>  
 <span id="erro"></span>  
 <form name="cadastrar" id="cadastrar" method="post" >  
	 <div id="f_nome"><label>Nome:</label><input type="text" name="nome" maxlength="40" size="60" id="nome" onKeyUp="pularcampo('nome','endereco','40')"></div>  
	 <div id="f_endereco"><label>Endereco:</label><input type="text" name="endereco" maxlength="50" size="60" id="endereco" onKeyUp="pularcampo('endereco','numero','50')"></div>  
	 <label>Numero</label><input type="text" name="numero" maxlength="10" id="numero" onKeyUp="pularcampo('numero','cep','10')">  
	<div id="f_cep"><label>CEP:</label><input type="text" name="cep" maxlength="8" id="cep" onKeyUp="pularcampo('cep','bairro','8')"></div>  
	 <label>Bairro:</label><input type="text" name="bairro" maxlength="30" id="bairro" onKeyUp="pularcampo('bairro','cidade','30')">  
	 <div id="f_cidade"><label>Cidade:</label><input type="text" name="cidade" maxlength="30" id="cidade" onKeyUp="pularcampo('cidade','estado','30')"></div>  
	 <label>Estado:</label><input name="estado" id="estado" maxlength="30">  
	 <div id="f_pais"><label>Pais:</label><input type="text" name="pais" maxlength="30" id="pais" onKeyUp="pularcampo('pais','ddd','30')"></div>  
	 <label>Telefone:</label><input type="text" name="ddd" maxlength="2" size="2" id="ddd" onKeyUp="pularcampo('ddd','telefone','2')">  
	 <input type="text" name="telefone" maxlength="8" size="13" id="telefone" onKeyUp="pularcampo('telefone','snha','8')">  
	<div id="f_login"><label>Login:</label><input type="text" name="login" maxlength="20" id="login" onKeyUp="pularcampo('login','senha','20')"></div>  
	<label>Senha:</label><input type="password" name="senha" maxlength="10" id="senha" onKeyUp="pularcampo('senha','email','10')">  
	 <div><label>E-mail:</label><input type="text" name="email" maxlength="30" size="60" id="email"></div>  
	 <input name="retornar" type="button" value="" id="botaoAlterar">  
 </form>

Se alguém tiver uma dica, estou a ouvir http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bjos e obrigada !

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olááá Kika,

 

beleza ?

 

seguinte, quando você passar parâmetro pro javascript você tem q fazer desse modo aqui:

 

<script language="javascript">  
			 function passaValor(usuario)  
			 {  
				 getElementById("linkar").action="../ControladorSistemaUsuarioBusca?usuarioLogin="+usuario;  // concatenando com a string. e para pegar o action do form, você precisa apenas colocar elemento.propriedade no caso, elemento.action; essa regra só muda no caso da propriedade style;
				 getElementById("linkar").submit();  
			 }  
		 </script>

Para você preencher dinamicamente, você pode pesquisar sobre ajax, com ajax você pode acessar esse seu servlet "../ControladorSistemaUsuarioBusca" dinamicamente e colocar ele pra retornar uma string ou um xml então você consegue atualizar os dados do formulário sem dar submit.

 

Abssss e espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olááá Kika,

 

beleza ?

 

seguinte, quando você passar parâmetro pro javascript você tem q fazer desse modo aqui:

 

<script language="javascript">  
			 function passaValor(usuario)  
			 {  
				 getElementById("linkar").action="../ControladorSistemaUsuarioBusca?usuarioLogin="+usuario;  // concatenando com a string. e para pegar o action do form, você precisa apenas colocar elemento.propriedade no caso, elemento.action; essa regra só muda no caso da propriedade style;
				 getElementById("linkar").submit();  
			 }  
		 </script>

Para você preencher dinamicamente, você pode pesquisar sobre ajax, com ajax você pode acessar esse seu servlet "../ControladorSistemaUsuarioBusca" dinamicamente e colocar ele pra retornar uma string ou um xml então você consegue atualizar os dados do formulário sem dar submit.

 

Abssss e espero ter ajudado.

 

Olá Carutcho, obrigada pela ajuda !!

Estou só com um probleminha..é erro no Javascript.

 

Minha função está assim :

<script type="text/javascript">	  

	function passaValor(usuario)
	{
		document.getElementBy("teste").action="../ControladorSistemaUsuarioBuscaArvore?usuarioLogin="+usuario;
		document.getElementById("teste").submit();
	}
	
</script>

Estou chamando no meu form dessa maneira, no caso, utilizando el:

<form name="teste" id="teste">
   <input type="button" value="${usuario.nome}" onclick="passaValor(${usuario.nome})">
</form>

Porém, ocorre o seguinte erro de javascript no firebug :

missing ) after argument list 
passaValor(Mariana Fonseca)

Onde Mariana fonseca é o usuario.nome.

Qual pode ser o problema ?

 

Abraços

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

passa ela assim ó:

 

<form name="teste" id="teste">
   <input type="button" value="${usuario.nome}" onclick="passaValor('${usuario.login}')">
</form>

no caso mariana é uma string, então você tem q passar ela como parâmetro para o javascript entre piclas '.

 

Tenta aee e vê se funfa.

 

abssss :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

passa ela assim ó:

 

<form name="teste" id="teste">
   <input type="button" value="${usuario.nome}" onclick="passaValor('${usuario.login}')">
</form>

no caso mariana é uma string, então você tem q passar ela como parâmetro para o javascript entre piclas '.

 

Tenta aee e vê se funfa.

 

abssss :)

Olá Carutcho !!

 

FIz o que você falou, e agora a mensagem é a seguinte :

 

document.getElementBy is not a function
passaValor("Mariana Fonseca")
onclick(click clientX=363, clientY=36)

Tem idéia ?

Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa opa...

 

Essa mensagem tava dando erro, mas já descobri pq

 

é q o document.getElemenByID() tava errado, tava assim : document.getElementBy() =P

 

Vou tentando aqui pra ver se consigo, qq dúvida volto a postar =D

 

Muito obrigada !!

 

ABraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi kikaaaa

 

Cuidado , o "D" de id é minusculo hein "document.getElemenById()" rsss nesse ponto é cheio de frescura igual ao java ele é case sensitive rssss

 

no q precisar estamos ae.

 

absss

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.