Guest {N}(h) e (lp){ed} Postado Fevereiro 10, 2008 Denunciar Share Postado Fevereiro 10, 2008 tenho uma página que contém um iframe, preciso de criar dentro do iframe, um elemento input.peguei um script aqui no forum mesmo e tentei adaptar, só que não deu certo, o elemento não é criado.o firefox aponta o erro: 'document.getElementById(aID) has no properties'alguém pode ajudar?aí vai o código:<html> <head> <title>Manipulação de iframe</title> <script> function getIFrameDocument(aID) { var rv = null; if (document.getElementById(aID).contentDocument){ rv = document.getElementById(aID).contentDocument; } else { rv = document.frames[aID].document; } return rv; } function teste2() { doc = getIFrameDocument("frame1"); as= document.createElement('input'); as.type='text'; doc.getElementsByTagName('body')[0].appendChild(as); } teste2(); </script> </head> <body> <iframe src="http://www.google.com.br" id="frame1"></iframe> </body> </html>obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Fevereiro 11, 2008 Denunciar Share Postado Fevereiro 11, 2008 Opa. Existem alguns erros no script, e todos na função teste2().1º A chamada dela está no lugar errado. Isso porque o javascript ainda não "viu" o iframe, pois o script está sendo executado antes do objeto iframe ser criado.Para solucionar isso, você deve usar a chamada da função após o objeto, ou usar o window.onload para fazer a chamada da função assim que o documento for carregado.2º Olha só:as= document.createElement('input'); as.type='text'; doc.getElementsByTagName('body')[0].appendChild(as); as=document.createElement('input'). Você deve criar o elemento usando o "document" do iframe e não da janela pai. O código deve ficar assim: function teste2(){ doc = getIFrameDocument("frame1") var as= doc.createElement('input') as.type='text' doc.body.appendChild(as) } window.onload=function(){teste2()}Assim que o documento estiver sido carregado, a função teste2() começa e cria usando o "doc" para criar o elemento input, e logo após adicionando ao doc.body o valor do input.Outra coisa, desista de fazer isso em páginas que não são suas. Se tentar fazer isso com páginas como google, você vai ter erro de acesso, já que o conteúdo do iframe não pode ser mudado se a página estiver em domínios diferentes. A página dentro do iframe deve ser sua, dentro do seu host, do seu domínio.Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest {N}(h) e (lp){ed}
tenho uma página que contém um iframe, preciso de criar dentro do iframe, um elemento input.
peguei um script aqui no forum mesmo e tentei adaptar, só que não deu certo, o elemento não é criado.
o firefox aponta o erro: 'document.getElementById(aID) has no properties'
alguém pode ajudar?
aí vai o código:
obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.