RaikOu
Março 9, 2010, 5:16pm
#1
Olá a todos do forum!
bom estou com um probleminha de script em um site de um amigo!
o codigo é esse:
[code][/code]
o que ele faz? bom é um site de vendas utilizando o sistema magento! foi feito uma tabela para aparecer os valores parcelados
acontece que no IE a tabela aparece, as bandeiras dos cartoes tbm, mas os valores da parcela não aparecem, ja no FireFox, Opera e afins
funciona perfeitamente, creio que tenha algo a ver com o innerHTML e o $(‘CreditCardTable’)
o problema é que minha praia é C++, eu só me disponibilizei para tentar ajudar meu amigo rsrsrs, mas me ferrei pois não estou conseguindo
arrumar!
se alguem puder me ajudar, dar uma dica, eu agradeceria!
um forte abraço.
em algumas versões do IEca ele nao aceita innerHTML com tabelas.
tente mudar de uma tabela para um div e veja o que acontece.
tente trocar innerHTML por innerText.
$('CreditCardTable').innerText = innerHTML;
RaikOu
Março 9, 2010, 8:32pm
#4
[quote=wbdsjunior]tente trocar innerHTML por innerText.
$('CreditCardTable').innerText = innerHTML;
olá tudo bem? Bom fiz o qeu me disse, e no IE não apareceu a msg de erro, mas apareceu sem formatação
assim:
<tr class="Grid_Header"><td width="33%">Parcelas</td><td width="33%">Valor da Parcela</td><td width="33%">Valor Total</td></tr><tr class="Grid_Header"><td style="color: Red;">1 x</td><td style="color: Red;">R$ 2.999,00</td><td style="color: Green;">R$ 2.999,00</td></tr><tr class="Grid_Header"><td style="color: Red;">2 x</td><td style="color: Red;">R$ 1.544,34</td><td style="color: Green;">R$ 3.088,67</td></tr><tr class="Grid_Header"><td style="color: Red;">3 x</td><td style="color: Red;">R$ 1.039,75</td><td style="color: Green;">R$ 3.119,26</td></tr><tr class="Grid_Header"><td style="color: Red;">4 x</td><td style="color: Red;">R$ 787,39</td><td style="color: Green;">R$ 3.149,55</td></tr><tr class="Grid_Header"><td style="color: Red;">5 x</td><td style="color: Red;">R$ 636,09</td><td style="color: Green;">R$ 3.180,44</td></tr><tr class="Grid_Header"><td style="color: Red;">6 x</td><td style="color: Red;">R$ 535,23</td><td style="color: Green;">R$ 3.211,39</td></tr><tr class="Grid_Header"><td style="color: Red;">7 x</td><td style="color: Red;">R$ 463,23</td><td style="color: Green;">R$ 3.242,58</td></tr><tr class="Grid_Header"><td style="color: Red;">8 x</td><td style="color: Red;">R$ 409,21</td><td style="color: Green;">R$ 3.273,71</td></tr><tr class="Grid_Header"><td style="color: Red;">9 x</td><td style="color: Red;">R$ 367,26</td><td style="color: Green;">R$ 3.305,32</td></tr><tr class="Grid_Header"><td style="color: Red;">10 x</td><td style="color: Red;">R$ 333,70</td><td style="color: Green;">R$ 3.336,99</td></tr><tr class="Grid_Header"><td style="color: Red;">11 x</td><td style="color: Red;">R$ 306,26</td><td style="color: Green;">R$ 3.368,84</td></tr><tr class="Grid_Header"><td style="color: Red;">12 x</td><td style="color: Red;">R$ 283,41</td><td style="color: Green;">R$ 3.400,87</td></tr>
mas no FireFox e demais que antes funcionavam certo, agora não funciona!
rsrsrs o errinho chato!
a saída ficou assim porque você não colocou \n onde quer quebrar a linha.
var innerHTML = '<tr class="Grid_Header">\n';
innerHTML += ' <td width="33%">Parcelas</td>\n';
acho que me enganei. o que deve funcionar na maioria dos navegadores é o innerHTML mesmo. veja .
Vai no braço segue o codigo abaixo.
Exemplo:
var table = document.createElement("table");
var tbody = document.createElement("tbody");
//Primeira Linha
var tr = document.createElement("tr");
var td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
td.setAttribute("width","70");
td.appendChild($textnode("Id"));
tr.appendChild(td);
td= document.createElement("td");
td.setAttribute("width","500");
var input = $input("txtid","cssid","text");
input.setAttribute("readonly","readonly");
input.value = id;
td.appendChild(input);
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
// Segunda Linha
tr = document.createElement("tr");
td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
td.appendChild($textnode(unescape("Descri%E7%E3o")));
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
// Terceira Linha
tr = document.createElement("tr");
td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
if(isIE()){
td.setAttribute('colSpan','2');
}else{
td.setAttribute('colspan','2');
}
var textarea = $textarea("txtdescricao","csstextareap");
td.appendChild(textarea);
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
// Quarta Linha
tr = document.createElement("tr");
td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
td.appendChild($textnode("Link"));
tr.appendChild(td);
td= document.createElement("td");
var input = $input("txtlink","csslinkg","text");
input.setAttribute('onkeypress',' mascara(this,msite);');
td.appendChild(input);
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
// Quinta Linha
tr = document.createElement("tr");
td= document.createElement("td");
tr.appendChild(td);
td= document.createElement("td");
td.appendChild($textnode("Imagem"));
tr.appendChild(td);
td= document.createElement("td");
var frmcliente = document.createElement("form");
frmcliente.setAttribute('id','frmcliente');
frmcliente.setAttribute('name','frmcliente');
frmcliente.setAttribute('action','controller?command=upload.ImagemCliente');
frmcliente.setAttribute('method','post');
frmcliente.setAttribute('enctype','multipart/form-data');
frmcliente.appendChild($input2("txtoldfile","hidden"));
frmcliente.appendChild($input2("txtname","hidden"));
var tablefrm = document.createElement("table");
var tbodyfrm = document.createElement("tbody");
var linha = document.createElement("tr");
var cell1 = document.createElement("td");
cell1.setAttribute('width','300');
var file = $input("txtfile","cssemail","file");
file.onchange = function(){
$('txtname').value = this.value;
if(this.value!=""){
cliente.startUpload(this.form,0,cliente.endUpload);
}
}
cell1.appendChild(file);
linha.appendChild(cell1);
cell1 = document.createElement("td");
cell1.appendChild($img("pload","images/loading.gif","none"));
linha.appendChild(cell1);
tbodyfrm.appendChild(linha);
tablefrm.appendChild(tbodyfrm);
frmcliente.appendChild(tablefrm);
td.appendChild(frmcliente);
tr.appendChild(td);
td= document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
table.appendChild(tbody);
// Fim do Form
var form = document.getElementById("form");
form.innerHTML = "";
form.appendChild(table);
RaikOu
Março 10, 2010, 3:18pm
#7
em tempo, muitos me falaram que o innerHTML da pau com Table
então fui fuçando os arquivos e achei isso:
[code]
<?php echo $this->__('Simulação de parcelamento no Cartão de Crédito via PagSeguro'); ?>
Visa
<td width="17%" id="tdMastercard" style="padding-left: 4px;" onclick="document.getElementById('radMastercard').checked = true;getPriceJSON('mastercard');">MasterCard<br><img style="padding-top: 5px;" align="middle" src="/loja/pagseguro/btn_mastercard.gif"><br><input id="radMastercard" type="radio" name="grGrupo" value="radMastercard" onchange="getPriceJSON('mastercard');"/></td>
<td width="17%" id="tdDiners" style="padding-left:4px;" onclick="document.getElementById('radDiners').checked = true;getPriceJSON('dinners');">Diners<br><img style="padding-top: 5px;" align="middle" src="/loja/pagseguro/btn_diners.gif"><br><input id="radDiners" type="radio" name="grGrupo" value="radDiners" onchange="getPriceJSON('dinners');"/></td>
<td width="17%" id="tdAmex" style="padding-left: 4px;" onclick="document.getElementById('radAmex').checked = true;getPriceJSON('americanexpress');">Amex<br><img style="padding-top: 5px;" align="middle" src="/loja/pagseguro/btn_amex.gif"><br><input id="radAmex" type="radio" name="grGrupo" value="radAmex" onchange="getPriceJSON('americanexpress');"/></td>
<td width="17%" id="tdHipercard" style="padding-left: 4px;" onclick="document.getElementById('radHipercard').checked = true;getPriceJSON('hipercard');">Hipercard<br><img style="padding-top: 5px;" align="middle" src="/loja/pagseguro/btn_hipercard.gif"><br><input id="radHipercard" type="radio" name="grGrupo" value="radHipercard" onchange="getPriceJSON('hipercard')"/></td>
<td width="17%" id="tdAura" style="padding-left: 4px;" onclick="document.getElementById('radAura').checked = true;getPriceJSON('aura');">Aura<br><img style="padding-top: 5px;" align="middle" src="/loja/pagseguro/btn_aura.gif"><br><input id="radAura" type="radio" name="grGrupo" value="radAura" onchange="getPriceJSON('aura');"/></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<br />
<table cellspacing="0" border="0" id="CreditCardTable" width="400">
</table>
<br />
</td>
</tr>
</table>
</div>
[/code]
troquei aonde tinha por ou e funcionou tanto no IE como no FireFox
o grande problema é que a pagina perde tudo a formatação, vira uma bagunça só!
alguem sabe como eu usar
ou como tabela?
no mais muito obrigado pela ajuda!