Problemas com JavaScript

3 respostas
A

Olá ....
Estou com um pequeno probleminha com o meu javaScript ...
Estou criando uma classe que gera um Relatorio e fiz um JavaScript para gerar esse relatorio .

JavaScript

function gerarPDF(idCliente, inicio, fim){
	var url = getUrlApp();
	alert('idcli '+idCliente);
	alert('inicio '+inicio);
	alert('fim '+fim);
	window.open(url + '/relatorio-servlet?action=criarPDF&idCli='+idCliente+'&dataInicio='+inicio+'&dataFim='+fim);
}

html

<ui:define name="botao">
		
			<a4j:commandButton value="#{bundle['label.relatorio']}" onclick = "gerarPDF('#{relatorioInicioMB.idUsu}', 
			'#{relatorioInicioMB.dataInicio}', '#{relatorioInicioMB.dataFim}');" 
								 action ="#{relatorioInicioMB.guardaSessao}" />
		</ui:define>
eu coloquei alguns
<h:outputText value=""/>
com o id do usuario e as datas para ver se elas não estavam vindo nulas ... e não estão, vem os valores corretos ....Só o javaScript q não vem com os valores ...

Alguem poderia me ajudar.... Ficarei muito Grata.... :D

3 Respostas

luciano2

Não sei se entendi seu problema, mas acho que está acontecendo pq você está usando o expression language para passar os parametros para o javaScript, provavelmente está gerando html com:

onclick="funcao(#{expression language});"

quando o correto seria

onclick="funcao(#{valor});"

to vendo que você ta usando jsf tenta fazer assim e vê se resolve:

<ui:define name="botao">  
           
             <a4j:commandButton value="#{bundle['label.relatorio']}"
                                           onclick = "gerarPDF('<h:outputText value="#{relatorioInicioMB.idUsu}"/>',   
            '<h:outputText value="#{relatorioInicioMB.dataInicio}"/>', '<h:outputText value="#{relatorioInicioMB.dataFim}/>');"   
                                  action ="#{relatorioInicioMB.guardaSessao}" />  
 </ui:define>

Conheço pouco de jsf mas acho que isso resolve o problema

A

não funcionou deu um super erro :cry:

luciano2

Como eu disse não tenho muito conhecimento em jsf, bem se você puder postar o erro para eu dar um olhada ajudaria.
Eu dei uma olhada em um projeto antigo e relamente não precisava do <h:outputText> com expression language da pra fazer, só que eu uso ${} ao invês de #{}

Criado 3 de maio de 2010
Ultima resposta 3 de mai. de 2010
Respostas 3
Participantes 2