• Viernes 26 de Abril de 2024, 22:58

Autor Tema:  Limpiar Un Input Type  (Leído 7972 veces)

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Limpiar Un Input Type
« en: Lunes 23 de Julio de 2007, 17:16 »
0
Hola:
Me gustaría saber como se limpia un input type, si se hace igual que un campo de texto normal:

Código: Text
  1. document.getElementById('nombre_campo').value="";
  2.  
O para un input type que contiene un botón examinar se hace de forma diferente.

Saludos y gracias!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Limpiar Un Input Type
« Respuesta #1 en: Lunes 23 de Julio de 2007, 18:11 »
0
Eso funciona en FireFox pero no en IE.

Podrías hacer uso de un botón de reset para limpiar todos los inputs de un determinado form sin importar cual sean sus tipos.

Código: Text
  1. <input type="reset" value="limpiar">
  2.  

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Limpiar Un Input Type
« Respuesta #2 en: Lunes 23 de Julio de 2007, 18:15 »
0
Si, funciona correctamente, aunque tanto los campos de texto, como los botones son todos input.

Altareum.

Funciona en ambos navegadores, al menos en IE6 si. Acá dejo un ejemplo:
Código: Text
  1. <body>
  2. <input type="button" id="boton1">
  3. <script>
  4. function cambiar(){
  5.   document.getElementById('boton1').value='Enviar';
  6. }
  7. </script>
  8.  
  9. <a href="javascript:cambiar()">cambiar</a>
  10. </body>
  11.  
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Limpiar Un Input Type
« Respuesta #3 en: Martes 24 de Julio de 2007, 09:35 »
0
Hola, si me refería a un input file, se me olvidó especificarlo :losiento: , muchas gracias por tu respuesta creo que lo he entendido.
SAludos!!!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Limpiar Un Input Type
« Respuesta #4 en: Martes 24 de Julio de 2007, 18:54 »
0
Así es como lo he probado yo:
Código: Text
  1. <html>
  2.   <head>
  3.     <title></title>
  4.    
  5.     <script language="JavaScript" type="text/javascript">
  6.       function limpiar(){    
  7.         document.getElementById('archivo').value="";
  8.         return true;
  9.       }
  10.     </script>
  11.    
  12.   </head>
  13.   <body>
  14.     <form name="formulario" method="POST">
  15.       <input type="file" name="archivo" id="archivo">
  16.       <input type='button' value='limpiar' onclick='return limpiar("")' />
  17.     </form>
  18.   </body>
  19. </html>
  20.  
y no funciona en IE. Si puedo leer el value del input "archivo" pero no puedo setearlo.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Limpiar Un Input Type
« Respuesta #5 en: Martes 24 de Julio de 2007, 19:53 »
0
Es raro, supongo que será por cuestiones de seguridad. Igualmente tu script funciona perfecto, con cualquier tipo de input que no sea file.


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Limpiar Un Input Type
« Respuesta #6 en: Martes 24 de Julio de 2007, 20:04 »
0
Cita de: "Altareum"
Es raro, supongo que será por cuestiones de seguridad. Igualmente tu script funciona perfecto, con cualquier tipo de input que no sea file.


Altareum.
Claro, ese es el tema y lo que está tratando de hacer zaida20, limpiar un intput  tipo file. Y eso es lo que no funciona en IE. Mira mi código anterior.

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Limpiar Un Input Type
« Respuesta #7 en: Miércoles 25 de Julio de 2007, 09:31 »
0
Muchas gracias por las respuestas!!!!, entonces no hay manera de dejar el campo vacío y que funcione en IE?


Saludos y gracias!!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Limpiar Un Input Type
« Respuesta #8 en: Miércoles 25 de Julio de 2007, 15:42 »
0
Bueno, esto no es lo que buscabas, pero sí es una solución al problema.
Intenté varias formas, pero dan el mismo resultado, no se pude modificar un campo del tipo file en ie.

Lo que puedes hacer es, borrar el campo y crearlo de nuevo en el mismo lugar:
Código: Text
  1.  
  2. <body>
  3. <input type="file" id="boton1">
  4. <script>
  5. function cambiar(){
  6.   obj = document.getElementById('boton1');
  7.  
  8.   var newobj = document.createElement('input');
  9.   newobj.type='file';
  10.   newobj.id=obj.id;
  11.   obj.parentNode.replaceChild(newobj, obj);
  12.  
  13. }
  14. </script>
  15.  
  16. <a href="javascript:cambiar()">cambiar</a>
  17. </body>
  18.  
  19.  

O bien, clonarlo y luego reemplazar el existente:
Citar
<body>
<input type="file" id="boton1">
<script>
function cambiar(){
   obj = document.getElementById('boton1');
   
   var newobj = obj.cloneNode(true);

   newobj.value='';
   obj.parentNode.replaceChild(newobj, obj);
   
}
</script>

<a href="javascript:cambiar()">cambiar</a>
</body>


Ojo, esto solo funciona para navegadores con manejo de DOM. Puedes chequear haciendo:
Código: Text
  1.  
  2. if(document.getElementById){ ... }
  3.  
  4.  

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Limpiar Un Input Type
« Respuesta #9 en: Miércoles 25 de Julio de 2007, 16:34 »
0
Excelente. Otro gran aporte de tu parte. Seguí así  :smartass:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Limpiar Un Input Type
« Respuesta #10 en: Jueves 26 de Julio de 2007, 09:30 »
0
Hola Altareum:

Muy buena solución!!! ;) , una vez más mil gracias  
Saludos :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----