Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/09/2009, 07:26
JCMadrid
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Problemas con innerHTML en IE

Hola a todos,

estoy empezando en esto del JavaScript. Hasta ahora he programado algunas webs en PHP, pero me resultó interesante poder manipular la web con DOM sin pasar por el servidor.

Pero me surgio un problema de incompatibilidad de navegadores...Tal vez puedan decirme si es solucionable o deberia de cambiar de estrategia.

Vereis, Tengo un formulario de email-contraseña con un checkbox (Nuevo usuario) que al activarlo me debe de añadir una fila a la tabla que contiene mi FORM, justo debajo del campo contraseña y añadiendo otro campo (Repetir contraseña).

El caso es que he creado una función para esto con innerHTML, que funciona perfectamente en todos la mayoría de navegadores (Firefox, Opera, Safari, Chrome), pero me falla en IExplorer.

En el caso de IE es como si se crease la fila de la tabla pero no se añadiese el texto de innerHTML.

Código:
function AddInput(){
    
        var CHKLOG = document.getElementById("Nuevo");
        
        if (CHKLOG.checked){
            // Añade campo de confirmación
            var TABLOG = document.getElementById("TLogin");
            var ROWLOG = document.getElementById("RLogin");
        
	    var newRow = TABLOG.insertRow(5);
        
            var rowCod = "<TD align='right'>Repite la contraseña:</TD><TD><input type='password' name='vRPalabraPaso' value='' size='20'></TD><TD></TD>";
            
            alert(rowCod);            
            newRow.innerHTML = rowCod;
        
        } else {
        
            document.getElementById("TLogin").deleteRow(5);
        
        }
}
Código PHP:
echo "
<form method='POST' action='"
.SELF."' onSubmit='validarForm(this)' enctype='multipart/form-data'>
<TABLE WIDTH='500' ID ='TLogin' HEIGHT = '180' align='center' background='" 
PATHGIF "tabla_aut.jpg'>
    <TR>
        <TD></TD>
        <TD>&nbsp;</TD>
        <TD></TD>
    </TR>
    <TR>
        <TD><B>&nbsp;&nbsp; Acceso a la cuenta: </B></TD>
        <TD></TD>
        <TD></TD>
    </TR> 
    <TR>
        <TD colspan='3'><CENTER><SPAN id='alertas' class='alert'>&nbsp;</SPAN></CENTER></TD>
    </TR>   
    <TR>
        <TD align='right'>Email: </TD>
        <TD> <input type='text' name='vEMail' value=\""
.$_POST['vEMail']."\" size='20'> </TD>
        <TD></TD>
    </TR>      
    <TR id='RLogin'>
        <TD align='right'>Contraseña: </TD>
        <TD> <input type='password' name='vPalabraPaso' value=\""
.$_POST['vPalabraPaso']."\" size='20'> </TD>
        <TD></TD>
    </TR>     
    <TR>
        <TD align='right'> <input type='checkbox' id='Nuevo' name='Nuevo' onClick='AddInput()' value=\"Nuevo cliente\"></TD>
        <TD> Nuevo cliente </TD>
        <TD> <input type='submit' name='Op' value=\"Validar\"> </TD>
    </TR>
    <TR>
        <TD></TD>
        <TD>&nbsp;</TD>
        <TD></TD>
    </TR>
</TABLE>
</form>  
"

Muchas gracias