Funciona no firefox mas nao no IE 6

5 respostas
Marlon_Meneses

e aih pessoal!!
fiz um script q funciona q eh uma maravilha em qualquer firefox mas qndo eu o testo no IE 6.0 nao funciona direito!!!!!
ainda nao testei nas outras versoes do IE
por favor deem uma olhadinha e me passem alguma opiniao sobre oq posso fazer pra funfar no IE!!

VALEWS!!

<html>
    <head>
        <style type="text/css">
            <!--
            @import url("../css/estilo.css");
            .style1 {
                color: #FF0000;
                font-weight: bold;
            }
            -->
        </style>
        <script>
            cont = 0
            qntalunos = 1
            function itemsel(){
                if(document.getElementById("combo")[document.getElementById("combo").selectedIndex].value != -555){
                    document.getElementById("combo")[document.getElementById("combo").selectedIndex].style.display='none'
                    var x=document.getElementById('tabela').insertRow(document.getElementById('tabela').rows.length);
                    cont++
                    var y=x.insertCell(0);
                    var z=x.insertCell(1);
                    var w=x.insertCell(2);
                    x.id = "row_"+cont;
                    x.style.width="60%"
                    z.style.width="30%"
                    w.style.width="10%"
                    y.innerHTML=document.getElementById("combo")[document.getElementById("combo").selectedIndex].text+"<input type='hidden' name='componente' value='"+document.getElementById("combo")[document.getElementById("combo").selectedIndex].value+"'/>";
                    w.innerHTML="<strong><a id='"+document.getElementById("combo")[document.getElementById("combo").selectedIndex].value+"' href='#' onClick=\"remover(this, "+document.getElementById("combo").selectedIndex+")\" >Remover</a></strong>";
                    z.innerHTML="<strong>Representante <input type='radio' name='representante' id='representante' value='"+document.getElementById("combo")[document.getElementById("combo").selectedIndex].value+"'></strong>"
                    document.getElementById("numcomp").innerHTML = "Componetes Atuais("+cont+"):" 
                    cor()
                    qntalunos++
                    document.getElementById("combo")[0].selected=true
                    document.getElementById("qnt_alunos").innerHTML=(document.getElementById("combo").length-qntalunos)+" alunos restantes"
                }
            }
            function remover(index, comboitem){
                document.getElementById('tabela').deleteRow(index)
                combo[comboitem].style.display="block"
                cont--
                document.getElementById("numcomp").innerHTML = "Componetes Atuais("+cont+"):" 
                cor()
                qntalunos--
                document.getElementById("qnt_alunos").innerHTML= (combo.length-qntalunos)+" alunos restantes"
                submeter()
            }
            function cor(){
                for(var i = 0; i < document.getElementById('tabela').rows.length; i++){
                    linha = document.getElementById('tabela').rows[i]
                    if(i%2==0){
                        linha.style.backgroundColor="#DDFFDD"
                    }else{
                        linha.style.backgroundColor="#FFFFFF"
                    }
                }
            }
            
            function repre(){
                contr = 0
                var radios = document.getElementsByName("representante");
                for(var i = 0; i < radios.length; i++){
                    if(radios[i].checked==true)
                        contr++                    
                }
                
                if(contr > 0 ) {
                    fechar_grupo()
                    return true
                }else if(document.getElementById("nome_grupo").value == ""){
                    alert("Defina o nome do grupo")
                    return false
                }else if(contr <= 0){
                    alert("Escolha um representante");
                    return false
                }else{
                    return false
                }
            }
            var grupo = 0
            function fechar_grupo(){
                var tabela = document.getElementById("tabela")
                var div = document.getElementById("grupos_criados")
                var content = div.innerHTML
                var content2 = document.getElementById("tabela").innerHTML
                var representantes = document.getElementsByName("representante")
                for(var i = 0; i < content2.length; i++){
                    content2 = content2.replace("name=\"componente\"","name=\"componente_"+grupo+"\"").replace("id=\"componente\"","id=\"componente_"+grupo+"\"")
                }
                for( i = 0; i < representantes.length; i++){
                    for(var j = 0; j < combo.length; j++){                    
                        if(combo[j].value == representantes[i].value && representantes[i].checked==true){
                            i = combo.length
                            break
                        }
                    }
                }
                
                content += "<table width='40%' border='0' id='grupo_"+grupo+"' class='texto' style='border-style:solid; border-width:1px;'>"
                content += "<tr><td width='20%'><strong>Nome do Grupo:</strong></td><td>"+document.getElementById("nome_grupo").value+" <input type='hidden' name='nome_grupo"+grupo+"' value='"+document.getElementById("nome_grupo").value+"'></td></tr><tr>"
                content += "<tr><td><strong>Representante:</strong></td>"+combo[j].text+"<input type='hidden' name='representante_grupo"+grupo+"' value='"+combo[j].value+"'><td></tr><tr>"
                content += "<td valign='top'><strong>Componentes("+cont+"):</strong></td><td><table id='g_criado"+grupo+"' cellpadding='0' cellspacing='0' width='100%' class='texto'>"+content2+"</table></td></tr><tr><td>&nbsp;</td>"
                content += "<td><input type='button' name='removergrupo' value='Remover Grupo' class='botao' onclick=\"remover_grupo('br_"+grupo+"','grupo_"+grupo+"','componente_"+grupo+"')\"></td></tr></table>"
                content += "<br id='br_"+grupo+"'>"
                div.innerHTML = content
                var tabelagrupo = document.getElementById("g_criado"+grupo)
                  
                for( i = 0; i < tabelagrupo.rows.length; i++){
                    tabelagrupo .rows[i].deleteCell(2)
                    tabelagrupo .rows[i].deleteCell(1)
                }
               
                document.getElementById("nome_grupo").value = ""
                tabela.innerHTML = ""
                cont = 0;
                document.getElementById("numcomp").innerHTML = "Componetes Atuais(0):" 
                grupo++
                document.getElementById("qntgrupos").value = grupo
                submeter()
            }
            function remover_grupo(br_grupo,grupo_criado,componente_grupo){
                var grupocriado = document.getElementById(grupo_criado)
                var componentegrupo = document.getElementsByName(componente_grupo)
                var brgrupo = document.getElementById(br_grupo)
                for(var i = 0; i < componentegrupo.length; i++){
                    for(var j = 0; j < combo.length; j++){                    
                        if(combo[j].value == componentegrupo[i].value){
                            combo[j].style.display="block"
                            qntalunos--
                            document.getElementById("qnt_alunos").innerHTML= (combo.length-qntalunos)+" alunos restantes"
                            break
                        }
                    }
                }
                grupocriado.style.display="none"
                brgrupo.style.display="none"
                submeter()
            }
            
            function submeter(){
                document.getElementById("concluir").style.visibility = combo.length-qntalunos == 0?"visible":"hidden"
            }
        </script>
    </head>
    <body>
        <table  border="0"  width="70%" class="texto">
            <tr>
                <td width="30%"><strong>Nome do Grupo:</strong></td>
                <td colspan="2"><input type="text" size="50" name="nome_grupo" id="nome_grupo" class="combo"/></td>
            </tr>
            <tr>
                <td><strong>Aluno:</strong></td>
                <td width="26%">
                    <select class="combo" name="combo" id="combo" onChange="itemsel()">
                        <option value="-555">Selecione um aluno</option>
                        <option value="1">Aluno1</option>
			<option value="2">Aluno2</option>
			<option value="3">Aluno3</option>
			<option value="4">Aluno4</option>
			<option value="5">Aluno5</option>
			<option value="6">Aluno6</option>
			<option value="7">Aluno7</option>
			<option value="8">Aluno8</option>
			<option value="9">Aluno9</option>
			<option value="10">Aluno10</option>
			<option value="11">Aluno11</option>
			<option value="12">Aluno12</option>
			<option value="13">Aluno13</option>
			<option value="14">Aluno14</option>
			<option value="15">Aluno15</option>
			<option value="16">Aluno16</option>
			<option value="17">Aluno17</option>
			<option value="18">Aluno18</option>
			<option value="19">Aluno19</option>
			<option value="20">Aluno20</option>
			<option value="21">Aluno21</option>
			<option value="22">Aluno22</option>
			<option value="23">Aluno23</option>
			<option value="24">Aluno24</option>
			<option value="25">Aluno25</option>
			<option value="26">Aluno26</option>
			<option value="27">Aluno27</option>
			<option value="28">Aluno28</option>
			<option value="29">Aluno29</option>
			<option value="30">Aluno30</option>
                    </select>
                </td>
                <td width="44%" id="qnt_alunos">&nbsp;</td>
            </tr>
            <tr>
                <td valign="top"><strong id="numcomp">Componetes Atuais(0): </strong></td>
                <td colspan="2">
                    <table id="tabela" width="100%" class="texto" cellpadding="0" cellspacing="0">
                    </table>
                </td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td colspan="2">
                    <input type="button" value="Fechar Grupo" name="fechar" class="botao" onClick="return repre()"/>
                    <input type="button" value="Concluir" id="concluir" class="botao" style="visibility:hidden" onclick="document.getElementById('grupos_criados').submit()">   
                </td>
            </tr>
        </table>
        <form id="grupos_criados" method="post" action="">
            <input type="hidden" name="qntgrupos" id="qntgrupos">
        </form>
    </body>
</html>

5 Respostas

wbdsjunior

tente resolver colocando “;” ao final de todas as instruções.

wbdsjunior

acho que encontrei o erro:

troque

tabela.innerHTML = "";

por

tabela.innerText = "";

na linha 113.

Michel_Sancovich

Temos que levar as seguintes considerações:

  1. table.innerHTML não funcio no ie!

  2. o innerText funciona somente no IE


vc tem que criar um método para criar a tabela dentro de uma div!

na div vc poderá colocar div.innerHTML = “”

e depois criar a tabela novamente

Marlon_Meneses

blz pessoal!!
o problema da tabela jah resolvi
mas e a qstao do combo?!
a medida em q eh selecionado um aluno ele eh eliminado do combo e soh vai aparecer d novo se ele for removido do grupo corrente ou se o grupo dele for excluido
no firefox funciona mas no ie nao
eu uso o style.display no option pra q ele seja eliminado do combo
como poderia fazer no IE?!

Michel_Sancovich

Pergunta:

Vc ou o cliente aceita utilizar o Firefox, ou Safari, ou Chrome?

Se sim, não é somente este problema que vc irá se livrar, mas muitos mesmo!!!

Dah uma olhada nesses links:

http://www.maujor.com/tutorial/seletores_css21_parte1.php

t+

Criado 7 de outubro de 2008
Ultima resposta 7 de out. de 2008
Respostas 5
Participantes 3