New question

Question:

Date: 01-09-2016 07:35:08 (In Spanish)

¿Cómo le doy un formato especifico al valor de un campo de texto? [Resolved]

Al usar un campo de texto podemos usar el tipo de campo, pero yo deseo personalizar este formato.

Es decir un comportamiento similar al del tipo date, que al ingresar los cada 3 caracteres ser separe
por un " - " o otros caracteres.

Aun no he empezado a resolverlo , pero se me ocurre que el uso de jquery con keyup podrian ser utiles.
(El formulario no debe ser refrescado).

Espero recibir sus aportes sobre cual debería ser la forma más eficaz de resolverlo. Gracias.
Tags: Format - HTML5 - JQuery - Question - Validaciones Votes: 1 - Answers: 6 - Views: 20 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 01-09-2016 17:01:15 Espero te sirva mi estimado..!

    sto nos mostrará una alerta con un mensaje indicando qué tecla hemos pulsado y cual es su código correspondiente. Como en el selector ponemos “document” esto ocurrirá cuando pulsemos una tecla en cualquier parte del documento.
    Con el siguiente código haríamos lo mismo pero cuando se pulse una tecla dentro de un campo de texto:


    <input type="text" id="buscar" />
    
    $(document).ready(function(){
           $("#buscar").keypress(function(e) {    
                alert("Pulsaste la tecla dentro del campo de texto con código: "+e.which);
          });         
    });


    En tu caso seria que cuando presiones espacio en vez de mostrar un alert pues se pondria en el input un un - o cualquier otro simbolo.

    Espero te sirva de orientacion mi estimado,no te olvides de poner la libreria de jquery y poner el codigo dentro de las etiquetas <script></script>.
      Votes: 1 - Link answer
     
  • Date: 02-09-2016 06:49:25 Gracias Mitnick

    Tu código me sirvió de inspiración para usar el siguiente script:

    <script type="text/javascript">
    
    $(document).ready(function() {	
     var cod=$('#codgen').val();
     
     if($('#codgen').val().length == 2){$('#codgen').val(cod+'-')}
    
        $('#codgen').keyup(function(){
             
            var id=$(this).val();
            
          
          if( $(this).val().length == 2 || $(this).val().length == 6 || $(this).val().length == 11 ) {
               
              $('#codgen').val(id+'-');
          }
            
            
        });
    
    </script>
       
    


    Usando un campo de texto donde lo unico importante es el selector "id":

    
    <input id="codgen"  style="text-transform:uppercase;" type="text" name="codgen" maxlength="13" placeholder="  <?php if( isset($_SESSION['CODCATE'])){echo $_SESSION['CODCATE']."-000-0000-0";}else{echo"00-000-0000-0"; } ?>" value="<?php $codgen=$row[1]; if(!empty($codgen)){echo $codgen;}else if( isset($_SESSION['CODCATE'])){echo $_SESSION['CODCATE'];}?>"/>
         
    
    
    	
    
    
    
      Votes: 1 - Link answer
     
  • Date: 02-09-2016 07:02:41 Me alegra que lo hallas resuelto mi estimado. Saludos   Votes: 1 - Link answer
     
  • Date: 02-09-2016 09:10:45 Te recomiendo que utilices un plugin de jQuery llamado inputmask (jquery.inputmask.bundle.min.js)
    Es muy fácil de utilizar aquí un ejemplo Ejemplo jQuery Mask
      Votes: 4 - Link answer
     
  • Date: 02-09-2016 10:54:03 Buen aporte alexis con ese plugin es mas sencillo. (Y)
    Inputmask
      Votes: 1 - Link answer
     
  • Date: 04-09-2016 01:49:19 Hola el formato lo deseas en php o que lo haga el navegador ?

    Si es en php se puede utilizar la funcion explode , sin embargo esto requiere que el usuario lo escriba con algun tipo de separador.

    Para cuestiones de navegador puedes usar javascript o sencillamente el input type date que viene integrado en HTML5 , eso si , cada navegador lo muestra de una forma detereminada.

    Saludos
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com