Ir para conteúdo

Arquivado

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

Marcelo Micheletti

Ajax: setAttribute onclick

Recommended Posts

Não sei se este é o lugar certo para esta minha duvida, mas já tentei em outros fóruns e não consegui achar a solução, e como eu sei q muitos utilizam ajax no desenvolvimento em Php, talvez aqui resolva meu problema!!!!

 

Estou montando um menu e quando adiciono o atributo "onclick" no meu link , não funciona no IE (na realidade nenhum atributo adicionado desta maneira funciona no IE) .

Crio o elemento da seguinte maneira:


...

var aMenu = document.createElement("a");

aMenu.setAttribute("href", "java script linenums:0'>for(var i=0; i < menu[0].childNodes.length; i++) {var titulo = itens.getAttribute('titulo');...var aMenu = document.createElement("a");aMenu.setAttribute("href", "java script:void(0)");aMenu.setAttribute("title", titulo);aMenu.setAttribute("onclick", "criaSubmenu(" + codigo + ")"; // Este é o principal...}

Os atributos href, title e onclick só funciona corretamente no Firefox.

 

Alguem sabe porque isso acontece?? E também como resolver?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer assim.em vez de colocar esse aMenu.coloca this.setAttribute("href", "java script:void(0)");outhis.aMenu.setAttribute("href", "java script:void(0)");n to bem lembrado.mais acho que assim resolve

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer assim.

 

em vez de colocar esse aMenu.

coloca this.setAttribute("href", "java script:void(0)");

 

ou

 

this.aMenu.setAttribute("href", "java script:void(0)");

n to bem lembrado.

mais acho que assim resolve

Valeu pela dica MetalDragonX, mas não funcionou.

O onclick continua sem funcionar no IE.

 

O href funcionou corretamente!

 

Vou continuar procurando a solução.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver utilizando innerHTML .

 

Não sei se a solução ideal, pq andei lendo a respeito do innerHTML e parece q não é muito bom utilizá-lo, mas funcionou!!

 

A propósito, alguém sabe me dizer pq tentar evitar utilizar este comando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, todos os browsers aceitam esta propriedade, porém, ela não é reconhecida pelas especificações da W3C... =/Eu utilizo sempre ela e nunca tive problemas, não sei te dizer se ela é tão ruim como alguns (poucos) dizem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara

 

pra que funcione no IE voce tem que utilizar da seguinte forma:

 

var input2 = document.createElement("input");

input2.onclick = nomeFuncao;

 

Onde nomeFuncao é o nome da função javascript que você quer chamar.

 

A única coisa que eu não sei, mas que estou precisando muito, por isso se alguem puder ajudar agradeço, é que preciso chamar uma função que tera parametros.

 

Ou senha, minha funcao tem que ser chamada assim:

<input type="text" name="Input0" onKeyUp="return somenteNumeros(this)">

 

Da forma que coloquei ali, não consigo atribuir nem o return e nem especificar que preciso passar o valor do campo.

 

Espero ter ajudado nesse meu primeiro post.

 

Abraço galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta o seguinte:

 

....

var aMenu = document.createElement("a");

.........

.........

aMenu.onclick = new Function("criaSubmenu("+ codigo +")");

 

 

obs.: O "Function" deve ser escrito com o primeiro caractere maiúsculo. (na m***** do IE6 só funcionou assim).

 

 

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

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.