Foros del Web » Programando para Internet » Javascript »

input con un botón type reset

Estas en el tema de input con un botón type reset en el foro de Javascript en Foros del Web. Hola, quería hacer que cuando un usuario escribiese algo en un input search, si ha escrito 1 caracter, apareciese un botón con la opción de ...
  #1 (permalink)  
Antiguo 30/10/2008, 10:39
 
Fecha de Ingreso: mayo-2007
Mensajes: 68
Antigüedad: 17 años
Puntos: 0
input con un botón type reset

Hola, quería hacer que cuando un usuario escribiese algo en un input search, si ha escrito 1 caracter, apareciese un botón con la opción de limpiar el input, con lo que ha escrito, así, tipo Apple, que solo sale la x cuando se ha escrito algo.

Porque yo se que haciendo un button type reset, se limpia el input, pero no se como hacer para que solo salga cuando el usuario ha escrito algo, no para que salga siempre, aunque el usuario no haya escrito nada.

Saludos.
  #2 (permalink)  
Antiguo 30/10/2008, 10:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: input con un botón type reset

Para eso tienes que usar un lenguaje de parte del cliente, como Javascript.
  #3 (permalink)  
Antiguo 30/10/2008, 11:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: input con un botón type reset

Tema trasladado a Javascript.
  #4 (permalink)  
Antiguo 30/10/2008, 11:11
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: input con un botón type reset

Hola Zptweb

Prueba esto:

Código javascript:
Ver original
  1. <input type="text" onkeyup = "borrar.disabled = this.value==''" />
  2. <input type="reset" name="borrar" disabled="disabled" />

Saludos,
  #5 (permalink)  
Antiguo 30/10/2008, 11:41
 
Fecha de Ingreso: mayo-2007
Mensajes: 68
Antigüedad: 17 años
Puntos: 0
Respuesta: input con un botón type reset

Me ha servido, se queda el botón con transparencia, pero, como puedo convertir ese input reset para que se vea una imagen?
  #6 (permalink)  
Antiguo 30/10/2008, 15:02
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: input con un botón type reset

jeje, me gusta la forma en que has hecho la comparación javier. zptweb para usar una imagen quizá puedas usar CSS. O usa una imagen y le das al evento onclick una función que es la que limpiaría el formulario.
  #7 (permalink)  
Antiguo 31/10/2008, 10:32
 
Fecha de Ingreso: mayo-2007
Mensajes: 68
Antigüedad: 17 años
Puntos: 0
Respuesta: input con un botón type reset

Oks, lo he hecho mediante javascritp, el problema es, que, al estar asginado un value="" predeterminado, entonces cuando borra, bien, borra lo que he escrito, pero se vuelve a poner el valor donde estaba antes, que para el script funcione, se supone que debe ser value="", pero si yo lo quiero poner value="Search...", entonces, cuando borra algo, borra, pero vuelve a quedar el value predeterminado (Search...)

Este es el código:

<input type="text" value="Search..." onfocus="if (this.value == 'Search...') this.value = ''" onblur="if (this.value == '') this.value = 'Search...'" name="q" id="s"/>


<script type="text/javascript">
$.extend({
searchbox: function() {
var isSafari = /Apple/.test(navigator.vendor);
var isOpera = window.opera;
var input = $("form.searchbox input:text");

$("form.searchbox input:reset").each(function(x, el){
$(el).addClass("resetButton");
$(el).bind("click", function(){
$(this).removeClass("delete");
});
});

input.bind("keyup", function(){
if($(this).val() != '') $(this).parent().find("input:reset").addClass("del ete");
else $(this).parent().find("input:reset").removeClass(" delete");
});
}

});
$(document).ready(function(){
$.searchbox();
})
</script>
<input type="reset" name="" value="" />


Saludos.
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:08.