Dúvida com javascript + displaytag

5 respostas
I

Bom dia amigos,

Como faço para usar um javascript no displaytag dentro da display:column usando tambem o property dentro do onclick?

Tentei usar da forma abaixo, mas não consigo passar o property nomeFantasia, da forma abaixo ta indo em branco, ou seja passando nada.
Fiz um teste e coloquei um valor de exemplo send(‘TESTE1’), com o valor TESTE1 funfou. Alguém tem uma dica?

<a href="Javascript: void(0);" onclick="send(<c:out value="${nomeFantasia}"/>);">LINK</a>

Código da tabela:

<display:table pagesize="10" name="lCliente" id="lCliente" scope="session" class="table" requestURI="listarCliente.do" styleClass="texto1" align="center" export="false">
					<td class="even">
						<display:column media="html" title="Selecionar">
							<a href="Javascript: void(0);" onclick="send(<c:out value="${cliente.nomeFantasia}"/>);">LINK</a>
						</display:column>
					</td>
					<td class="odd">
						<display:column property="nomeFantasia" title="Nome Fantasia" styleClass="texto1" sortable="true" headerClass="sortable" href="detalhesCliente.do?method=detalhesCliente" paramId="id" paramProperty="id"/>
					</td>
					<td class="even">
						<display:column property="cnpj" title="CNPJ" styleClass="texto1" />
					</td>
					<td class="odd">
						<display:table/>
					</td>
			</display:table>

Vlw amigos…

5 Respostas

Luiz_Augusto_Prado

vc tentou algo assim?

<c:out value="<a href=\"Javascript: void(0);\" onclick=\"send("${nomeFantasia}");\">LINK</a>  \"/>"
I

Substitui a linha:

<a href="Javascript: void(0);" onclick="send(<c:out value="${cliente.nomeFantasia}"/>);">LINK</a>

Pela linha que vc postou:

<c:out value="<a href=\"Javascript: void(0);\" onclick=\"send("${nomeFantasia}");\">LINK</a>  \"/>"

Mas na tabela na coluna “Selecionar” os dados está aparecendo o erro:

javax.servlet.ServletException: /jsp/pedido/listarCliente.jsp(28,70) Unterminated &lt;c:out tag

A tag <c:out> fica sublinhada em vermelho no eclipse, ou seja, não está sendo aceita nesta área do displaytag. O que posso fazer?

Vlw amigo…

Luiz_Augusto_Prado

cara, vc nao tem essa forma abaixo para jogar no navegador do cliente?!!!
<c:out value="${nomeFantasia}/>"

coloca seu href no meio disso:
<c:out value="${nomeFantasia}</tag href>"/>

<a href=“Javascript: void(0);” onclick=“send(”${nomeFantasia}");">LINK
pra que esse void(0) ai no meio ?

exemplo de um javascript dentro de um HTML:

<script>
function send()
{
	alert("oi");
}
</script>

<body>
<a href="Javascript:onclick=send()">LINK</a>
</body>

Vc deve testar seu javascript antes de inseri-lo no seu codigo jsp

Agora o resto e contigo.

I

Amigo Luiz Augusto Prado,

Sei que existe a tag <c:out value="${nomeFantasia}/>" para exibir um parâmetro no navegador.

Estou usando o codigo abaixo, pois tenho uma função em JS chamado send. O que eu não consigo é passar o property “nomeFantasia” para dentro desta função, está indo em branco. Quando coloco um valor de exemplo, este valor chega normalmente no JS e ai dá o alert(teste para ver se o valor ta chegando na função).

<a href=\"Javascript: void(0);\" onclick=\"send("${nomeFantasia}");\">LINK</a>

JS send:

<script>
<!--
function send(nomeFantasia){
	alert(nomeFantasia);
	// window.opener.document.nomeFantasia.value=nomeFantasia;
	self.close();
}
//-->
</script>

Vlw…

I

Amigo,

Consegui resolver desta forma:

<display:column media="html" title="Selecionar">
<a href="Javascript: void(0);" onclick="send('${lCliente.nomeFantasia}');">${lCliente.nomeFantasia}</a>
</display:column>

Agora estou com uma dúvida. Existe uma página com um formulário de pedido, para preencher os campos do Header do formulário (nome cliente, endereço, estado, etc), coloquei um link na qual abre um popup onde o usuário pode procurar por um determinado cliente e quando ele clicar no nome do cliente (que foi o caso do post anterior do JS), os campos do formulario de pedido são preenchidos automaticamente.

Para teste, estou testando somente com um campo (nome fantasia), agora estou conseguindo passar o atributo nome fantasia para dentro da função send, mas não consigo fazer com que o nome fantasia apareça na pagina “mãe”, não aparece nada. O que pode ser?

Abaixo segue o JS que utilizo na pagina popup para jogar os valores para a pagina mãe. Não aperece nenhum erro, simplesmente não aparece o nome fantasia no input da pagina mãe.

<!--
function send(nomeFantasia){
window.opener.document.pedidoForm.nomeFantasia.value=nomeFantasia;
self.close();
}
//-->
</script>

Abaixo é o campo input da pagina mãe:

<html:text property="nomeFantasia" size="50" styleClass="text" readonly="true"/>

Vlw amigo…

Criado 18 de janeiro de 2009
Ultima resposta 20 de jan. de 2009
Respostas 5
Participantes 2