• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ruitalia

[Resolvido] Tirar id da classe superior de um elementeo [Javascript Avançado]

5 mensagens neste tópico

Caros colegas...

Imaginem o seguinte HTML:

<form id="myform">
<textarea id="mytextarea">Hi</textarea>
</form>

Como é que eu provo, em javascript, que a minha Textarea (mytextarea) está dentro do elemento form (myform)?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
if(document.getElementById('mytextarea').innerHTML == document.myform.mytextarea.innerHTML){ alert("woot"); }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, vai funcionar

Mas na verdade o que tenho é um array com todos os elementos do documento e quero "filtrar" apenas os elementos do formulário, para passá-los por POST em AJAX.

Contudo, já tenho um array com todos os elementos, já fiz o script todo e já está a funcionar, apenas a certa altura do scritp necessito de um filtro do tipo:

if(elem.estiver dentro da tag form){

BLA BLA

}

Uma outra forma é no inicio do meu scritp filtrar de vez os elementos, mas não estou a conseguir, pois estou usando todos os elementos de "document.documentElement" e não consigo filtrar apenas os do form por aí (por ex: "document.form.documentElement" nao existe)

Alguma sugestão?

O filtro que consegui fazer até então foi testar se o elemento tem valor real, pois penso serem apenas os elementos dos formulários a admitir este atributo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que podes fazer isso de duas formas,

ou usas o textarea.getParentNode() ou fazes um loop pelos elementos do form algo como while form.netChild()

Outra forma que também vai funcionar é dares um atributo aos elementos do form por exemplo <input type="text" inform="true">

e depois fazes algo como if (elemento.getAttribute('inform') == 'true' )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que podes fazer isso de duas formas,

ou usas o textarea.getParentNode() ou fazes um loop pelos elementos do form algo como while form.netChild()

Outra forma que também vai funcionar é dares um atributo aos elementos do form por exemplo <input type="text" inform="true">

e depois fazes algo como if (elemento.getAttribute('inform') == 'true' )

Parece-me uma boa ideia, apesar de ter de dar um atributo a todos os elementos do form, mas é isso que vou fazer.

Obrigado! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora