Foros del Web » Programando para Internet » Javascript »

dolor de cabeza con javascript y firefox

Estas en el tema de dolor de cabeza con javascript y firefox en el foro de Javascript en Foros del Web. Estimados gurues, esta funcion corre perfectamente en IE pero no en firefox, aunque en el panel de errores de firefox no muestra ningun error, basicamente ...
  #1 (permalink)  
Antiguo 11/11/2008, 23:11
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
dolor de cabeza con javascript y firefox

Estimados gurues, esta funcion corre perfectamente en IE pero no en firefox, aunque en el panel de errores de firefox no muestra ningun error, basicamente se manda el contenido de un textbox a una opcion de un select, este es el codigo completo:

<script>
function dale(){
var opt = this.document.createElement("option");
opt.setAttribute("value","");
opt.appendChild(this.document.createTextNode(this. document.getElementById("texto").getAttribute("val ue")));
this.document.getElementById("select").appendChild (opt);
}
</script>

Formulario:
<html><head>
<input type="text" id="texto" name="texto">
<select name="select" size="10" id="select" >
<input type="button" value="dale" id="dale" onClick="dale()">
</head> </body>

Desde ya mil gracias por cualquier ayuda que puedan darme.
  #2 (permalink)  
Antiguo 12/11/2008, 03:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: dolor de cabeza con javascript y firefox

Hola:

La verdad es que los options no tienen nodos hijos, sino atributos de texto, value (y selected).
Otra cosa es que createTextNode y createElement son dependientes de document, y ese "this" que usas es la propia función... por cierto, aunque no sea un error, te aconsejo que no uses nombres que puedan confundirse con elementos de la página... lo digo por el id="select"

Prueba así:

function dale(){
var opt = document.createElement("option");
opt.value = "";
opt.text = document.getElementById("texto").value;
document.getElementById("select").appendChild (opt);
}

De todos modos en nuestras maravillosas FAQs tenemos mensajes sobre la inserción (y borrado) dinámico de opciones de un select.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/11/2008, 05:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: dolor de cabeza con javascript y firefox

Sabes que funciona bien en firefox pero lo pruebo en IE y no funciona,Muchas gracias por la ayuda

Última edición por alearning; 12/11/2008 a las 05:42
  #4 (permalink)  
Antiguo 12/11/2008, 09:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: dolor de cabeza con javascript y firefox

Hola, alearning. ¿Has mirado las FAQ's como te recomendó caricatos?. Hay una forma más simple de agregar y quitar las opciones de un select.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 12/11/2008, 16:07
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: dolor de cabeza con javascript y firefox

Buenas, gracias x la respuesta, revolvi en las faqs, pero no encontre el ejemplo, vi algunos en los que trabajan con php pero mi pagina es asp y no le estaba encontrando la vuelta, tendran a mano algun link que me pueda ayudar?
Muchas gracias por la ayuda
  #6 (permalink)  
Antiguo 12/11/2008, 16:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: dolor de cabeza con javascript y firefox

Mira este mensaje por KarlanKas: http://www.forosdelweb.com/f13/como-...3/#post1741196
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.