Ir para conteúdo

POWERED BY:

Arquivado

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

Query

createElement no IE e Firefox

Recommended Posts

Boa contribuição. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal.

 

Estou criando.. um código onde ele adiciona uma uma linha, numa determinada tabela e dentro dessa linha ele cria outra tabela, quando eu tento colocar um atributo colspan ele não funciona. E no firefox esse script não funciona...

Estou postando só o código que cria essa linha. e eu fiz um código para remover esse linha....

Poderiam me dar uma luz... de como fazer funcionar no fire e como fazer o colspan dá certo?

 

function cria_campo(tab)

{

var tbl = document.getElementById("" + tab + "");

var lastRow = tbl.rows.length;

// if there's no header row in the table, then iteration = lastRow + 1

var iteration = lastRow;

var row = tbl.insertRow(lastRow);

 

//Criando a Tabela

var celula = row.insertCell(0);

var tab = document.createElement("table"); // cria a tabela

var tbody = document.createElement("tbody"); // cria o elemento tbdoy, sem ele não funciona no IE

var tr = document.createElement("tr"); // cria a linha

var td = document.createElement("td"); // cria a célula

 

var txt = document.createTextNode("IMG GRANDE ADICIONAL "+iteration);// cria o conteúdo da célula

 

td.appendChild(txt); // insere o texto na célula

tr.appendChild(td); //insere a célula na linha

td = document.createElement("td"); // cria outra célula

 

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

inputFile.setAttribute('type','file');

inputFile.setAttribute('name','img_produto'+ (iteration));

inputFile.setAttribute('id','img_produto'+ (iteration));

inputFile.setAttribute('size','60');

inputFile.setAttribute('class','FORMbox');

inputFile.setAttribute('onChange',"VerImagem(this,document.imagemrel);mostraimg('tblIMG','img_produto');");

td.appendChild(inputFile);

tr.appendChild(td); //insere a célula na linha

tbody.appendChild(tr); // insere a linha no tbody

tr = document.createElement("tr");

td = document.createElement("td");

txt = document.createTextNode("Cor do Produto");

td.appendChild(txt);

tr.appendChild(td);

td = document.createElement("td");

txt = document.createTextNode("<% call sel_cor()%>");

td.appendChild(txt);

tr.appendChild(td);

tbody.appendChild(tr);

tr = document.createElement("tr");

td = document.createElement("td");

td.setAttribute('colspan','2');

var img = document.createElement("img");

img.setAttribute('src','images/duvida.gif');

img.setAttribute('width','16');

img.setAttribute('height','16');

img.setAttribute('border','0');

img.setAttribute('alt','Help');

img.setAttribute('onClick',"mostrahelp('dredimimg_produto',this);");

img.setAttribute('style','cursor:hand;');

td.appendChild(img);

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

check.setAttribute('type','checkbox');

check.setAttribute('name','redimimg_produto');

check.setAttribute('checked');

check.setAttribute('value','sim');

td.appendChild(check);

txt = document.createTextNode("Redimensionar esta imagem ao tamanho GRANDE padrão do site.");

td.appendChild(txt);

tr.appendChild(td);

tbody.appendChild(tr);

tab.appendChild(tbody); // insere o tbody na tabela

tab.setAttribute("border","1");

 

celula.appendChild(tab);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já tentou usando colSpan ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tinha tentado tentei aqui e funcionou Obrigado.

 

Li o o conteúdo do link, e vi as diferenças entre ff e ie.

 

Só que no meu caso, e adiciona uma tabela e uma linha da tabela, usando o innerHTML ele substituiria o conteúdo. Fiz um teste concatenando o conteúdo e deu certo, mas na hora de remover essa tabela que é o problema... teria uma idéia de como posso fazer.?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remover uma tabela inserida por INNERHTML? Nunca vi remover assim...

 

Uma sugestão... utiliza JQuery (prefiro essa) ou Prototype para trabalhar com DOM. Seu código ficará mais limpo e você conseguirá manipular com mais facilidade. Sem falar a compatibilidade com os navegadores.

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.