Jump to content


Photo

Innerhtml + Ff = Problemas


  • Faça o login para participar
2 replies to this topic

#1 herreraaa

herreraaa

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 08/12/2008, 07:35

Bom dia, a todos do forum WMO!

Tenho um problema com com um código de JS que abre varias divs com inputs dentro delas para inserção de dados.
Esse código eu tenho a mil anos e agora que eu percebi que as divs não abrem no FF, Safari, Chrome, tdo por causa do innerHTML.

Já pesquisei muito na net, mas não encontrei nada que eu realmente entenda para artualizar esse código(só ajax e jquery o que eu me perco fácil)

abaixo o código


função abrir painel

<script language="javascript">function createPanel(oParent, type){	
var oSrc = document.getElementById("pansrc" + type);	

if (! oSrc) return alert("Não foi possível adicionar " + type);		
var srcHtml = oSrc.innerHTML;	
var newCount = oParent.children.length + 1;	
srcHtml = srcHtml.replace(/#/g, newCount);	
oParent.insertAdjacentHTML("beforeEnd", srcHtml)}</script>

Painel que deve abrir ao acionar a função

<div id="pansrcComp" style="display:none; padding-top:10px; padding-bottom:10px;">

<input type="hidden" name="material_extra" value="#">
<ul>	
<li>		
<label class="esquerdaAlinha2">Arquivo: </label>		
<input type="file" name="material_extra#" value="upload" />	
</li>	
<li>		
<label class="esquerdaAlinha2">Descrição: </label>		 
<textarea name="descricao_extra#"></textarea>	
</li>
</ul>
</div>
<div id="panComp" style="padding-top:10px; float:left;"></div>
<div style="text-align:left;padding-top:3px; float:left;">	
<a onClick="createPanel(document.getElementById('panComp'), 'Comp'); return false" href="#">teste</a>
</div> 
</div>
Ta ae, é um código altamente funcional no IE(só colar e testar)

Gostaria que vocês me dessem um help, um código diferente ou até mesmo uma leitura diferente desse meu código...
O que vocês puderem fazer está ótimo.

Desde já agradeço pelo apoio.

#2 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 08/12/2008, 10:58

Esse código é funcional no IE porque está em desuso e não é nada crossbrowser :P

Para trabalhar nos padrões, e assim funcionar corretamente em todos os browsers, deve-se utilizar createElement para criação de elementos...

Dá uma lida nas docs da Mozilla que tu consegue. É bem fácil. Só ir seguindo os exemplos. No Google tem alguns tutos tb.

Links que serão úteis:

https://developer.mo...t.createElement
https://developer.mo...ent.appendChild
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#3 herreraaa

herreraaa

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 08/12/2008, 12:27

Eu entendi a parada do element e talz, mas o do appendChild eu to panguando... como eu faço pra ele criar vários nós e como eu o chamo... ta osso




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq