Receber valor do inputText em JSF

7 respostas
J

Boa tarde, estou desenvolvendo em JSF e não consigo receber um valor de um componente inputText, tudo funciona perfeitamente quando não trabalho com o componente “subview”, recebo os parâmetros do usuário, valido entre outras coisas em JavaScript, porém, para organizar minha página utilizei subview dentro de uma view e não consigo trabalhar com javascript, segue abaixo fragmentos do meu código na subview:

Itens do Pedido - CadPedItem
<f:subview id="viewItemPed">
 	<table>
		<tr>
				<h:inputText onblur="desconto1()" id="dec1" value="#{cadaped.itemped.AC88A_DESC1}"/>
  • Já tentei
document.getElementById[viewItemPed:dec3].value = 100;

document.getElementById[formulario:viewItemPed:dec3].value = 100;

// o formulário da view principal

document.getElementById[dec3].value = 100;

Obrigado pela atenção.

7 Respostas

thiago.correa

já tentou colocar o nome certo do campo, pelo menos no exemplo tá dec1

function desconto1() { document.getElementById["viewItemPed:dec1"].value = 100; }

J

VERDADE, O EXEMPLO ESTÁ ERRADO, MAS COLOQUEI O NOME CORRETO (DEC1).

thiago.correa

Chegou a olhar como ficou o html com o subview, use alguma ferramenta como o IEDebugger ou o firebug para facilitar a identificação do id do campo que deseja atribuir o valor!

ralphsilver

tem que ver como que ficou o id do final da página… porque o jsf usa o id e faz uma estrutura nela… daí depois disso é só colocar no document. (javascript)

J

Cliquei com o botão direito na página e o id exibido foi “viewItemPed:dec1”, eu já testei desta forma e não funcionou.

ralphsilver

ahh tá;… achoq eu eu percebi o que é…

vc está usando [] no elementbyid… tem que usar ():

function desconto1() { document.getElementById("viewItemPed:dec1").value = 100; }

J

Muito obrigado, era esse problema. Além de ser iniciando em JavaScript, costumo usar formulario.campo.value, não dá problema, porém, neste caso estava trabalhando com uma subview não dava certo.

obrigado pela atenção de vocês.

Criado 31 de março de 2010
Ultima resposta 31 de mar. de 2010
Respostas 7
Participantes 3