ivo_costa 12 de ago. de 2008
Eu nunca mechi com jsf mas em html seria assim:
& lt ; html & gt ;
& lt ; body & gt ;
& lt ; script type = "text/javascript" & gt ;
function teste ( obj ){
if ( obj . value == '1' ) obj . value = '2' ;
else obj . value = '1' ;
}
& lt ; / script & gt ;
& lt ; input type = "button" value = "1" onclick = "teste(this);" /& gt ;
& lt ; / body & gt ;
& lt ; / html & gt ;
Leonardo3001 12 de ago. de 2008
Eu vou assumir que, quando você disse commandLink, na realidade, se referiria à tag do HTML.
É o seguinte, não vou te dar a resposta pronta, porque eu mesmo não sei. Mas posso te mostrar o caminho das pedras.
Primeiro, se você passou this como referência, não precisa fazer isso:
basta fazer isso:
Segundo, só é possível usar o “value” se a tag HTML tiver o atributo “value”. A tag não tem, portanto fazer a atribuição é simplesmente ineficaz.
Terceiro, a mensagem a ser exibida como link está dentro da tag . Em XML, isso significa que o texto é filho de , correto? Acredito eu (porque não testei), que você tenha que criar um node, atribuir uma mensagem ao node, apagar os filhos atuais do node , e “appendar” o node criado por você como filho de . O DOM do Javascript é parecido com o DOM do Java. Exemplo: criar um node texto HTML:
Procure mais na internet sobre o DOM em Javascript, fuçe o código, que você deve achar uma solução.
MrDataFlex 12 de ago. de 2008
então, tbm ‘deveria’ ser assim… porem, parece que um link não tem a propriedade ‘value’ ou uma que represente seu texto…
MrDataFlex 12 de ago. de 2008
Leonardo3001:
Eu vou assumir que, quando você disse commandLink, na realidade, se referiria à tag do HTML.
É o seguinte, não vou te dar a resposta pronta, porque eu mesmo não sei. Mas posso te mostrar o caminho das pedras.
Primeiro, se você passou this como referência, não precisa fazer isso:
basta fazer isso:
Segundo, só é possível usar o “value” se a tag HTML tiver o atributo “value”. A tag não tem, portanto fazer a atribuição é simplesmente ineficaz.
Terceiro, a mensagem a ser exibida como link está dentro da tag . Em XML, isso significa que o texto é filho de , correto? Acredito eu (porque não testei), que você tenha que criar um node, atribuir uma mensagem ao node, apagar os filhos atuais do node , e “appendar” o node criado por você como filho de . O DOM do Javascript é parecido com o DOM do Java. Exemplo: criar um node texto HTML:
Procure mais na internet sobre o DOM em Javascript, fuçe o código, que você deve achar uma solução.
obrigado, vou tentar
MrDataFlex 12 de ago. de 2008
Leonardo, muito obrigado! Funcionou!
Segue:
function addTextNode()
{
var newtext = document.createTextNode(" Some text added dynamically. ");
var para = document.getElementById("p1");
para.appendChild(newtext);
}
Abração!!!