Foros del Web » Programando para Internet » Javascript »

problema firefox

Estas en el tema de problema firefox en el foro de Javascript en Foros del Web. tengo la siguiente función: function add(){ a=document.getElementById("nuevo"); ja="<input name=\"archivo\" type=\"file\" id=\"archivo\" size=\"32\" />"; b=document.createElement(ja); a.appendChild(b); } <div id="nuevo" style="width:300px;"> <input name="archivo" type="file" id="archivo" size="32" /> ...
  #1 (permalink)  
Antiguo 04/05/2009, 19:41
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 14 años, 11 meses
Puntos: 3
problema firefox

tengo la siguiente función:
function add(){
a=document.getElementById("nuevo");
ja="<input name=\"archivo\" type=\"file\" id=\"archivo\" size=\"32\" />";
b=document.createElement(ja);
a.appendChild(b);
}

<div id="nuevo" style="width:300px;">
<input name="archivo" type="file" id="archivo" size="32" />
<input type="button" onclick="add()" value="Agregar otro archivo" />
</div>
<input type="submit" name="Submit" value="Enviar" />

en internet explorer me funciona bien, pero en firefox y opera no.
  #2 (permalink)  
Antiguo 04/05/2009, 19:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema firefox

Código:
//...
ja="<input name=\"archivo\" type=\"file\" id=\"archivo\" size=\"32\" />";
//...
realmente esta forma de codigo solamente trabaja en MSIE y no es la forma correcta segun el estandar DOM. createElement solo necesita el nombre del elemento, es decir, sin los atributos. creo entender tu caso donde necesitas crear un input tipo file frente a la situacion de MSIE donde no permite cambiar el tipo de un input. lo cierto es que si puedes hacerlo con un elemento antes de agregarlo al documento.
Código javascript:
Ver original
  1. ja = document.createElement('input');
  2. ja.setAttribute('type', 'file');
  3. ja.setAttribute('size', '20');
  4. ja.setAttribute('name', 'archivo');
  5. a.appendChld(ja);

al menos me funciona en MSIE7. si no te funciona con setAttribute intentalo con las propiedades del elemento: ja.type = 'file'; ja.name = 'archivo'; ...
  #3 (permalink)  
Antiguo 04/05/2009, 20:07
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: problema firefox

Cita:
Iniciado por zerokilled Ver Mensaje
Código:
//...
ja="<input name=\"archivo\" type=\"file\" id=\"archivo\" size=\"32\" />";
//...
realmente esta forma de codigo solamente trabaja en MSIE y no es la forma correcta segun el estandar DOM. createElement solo necesita el nombre del elemento, es decir, sin los atributos. creo entender tu caso donde necesitas crear un input tipo file frente a la situacion de MSIE donde no permite cambiar el tipo de un input. lo cierto es que si puedes hacerlo con un elemento antes de agregarlo al documento.
Código javascript:
Ver original
  1. ja = document.createElement('input');
  2. ja.setAttribute('type', 'file');
  3. ja.setAttribute('size', '20');
  4. ja.setAttribute('name', 'archivo');
  5. a.appendChld(ja);

al menos me funciona en MSIE7. si no te funciona con setAttribute intentalo con las propiedades del elemento: ja.type = 'file'; ja.name = 'archivo'; ...
Ahora me funciona bien, gracias :)
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 12:49.