Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: landerzx en 5 Diciembre 2014, 16:28 pm



Título: [Solucionado] filas dinamicas con inputs y solo numeros
Publicado por: landerzx en 5 Diciembre 2014, 16:28 pm
 :rolleyes:, hola tego una duda, me gustaria saber como hacer para cuando este agregando filas en una tabla dinamica en que lo que yo ingrese sea solo numeros enteros y decimales, cuando agrego mi fila me acepta incluso letras, le agregue una clase para que valide que todo lo que posea esa clase sea solo numericos pero nada.
 algo asi puse de mi libreria JS de jquery
$(".imp_cantidad").numeric();
porfa si alguien sabe me avisa porfavor


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: Slikp en 5 Diciembre 2014, 16:56 pm
- Buenas landerzx, en primer lugar es un tanto dificil ayudarte con tan poca informacion, dado que tu problema puede radicar en otra parte de tu codigo por ejemplo es posible que estes condicionando mal tu codigo, por otro lado hasta donde se yo el metodo .numeric(); no existe en Jquery la sintaxys seria .isNumeric();

Código
  1. $.isNumeric( "10" );  
  2.  

- A parte soy nuevo en Jquery tambien pero a mi pensar yo creo que la forma en como expresas tu metodo es incorrecta osea yo digo que esto esta mal.

Código
  1. $(".imp_cantidad").numeric();
  2.  

- Ojo no me refiero a que la solucion sea esta.

Código
  1. $(".imp_cantidad").isNumeric();
  2.  

- Como dije soy novato en Jquery y de paso nunca he usado ese metodo en Jquery deberias probar primero como esta en el codigo de arriba pero segun yo no va a funcionar, yo primero intentaria sacar el valor que contiene tu clase".imp_cantidad" con:

Código
  1. $(this).val()
  2.  

- Y luego comprobar si es un numero, a parte como te dije es dificil ayudarte con tan poca informacion porque ".imp_cantidad" es una clase contenida en un input??

- Saludos.


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: #!drvy en 5 Diciembre 2014, 17:05 pm
Para que un input acepte solo numeros debes usar ya sea los atributos type de input que vienieron con HTML5 o javascript o el pattern (tambien con html5).

Ejemplo:

Código
  1. <input type="number" placeholder="solo numeros" />

Código
  1. <input type="text" pattern="\d*" placeholder="solo numeros" />

Saludos


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: Slikp en 5 Diciembre 2014, 17:19 pm
- Buenas #!drvy, yo habia pensado sugerirle eso tambien pero el dice que quiere ingresar numero enteros y decimales. Y creo que Input type Number no acepta decimales o si ? .

- Saludos


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: #!drvy en 5 Diciembre 2014, 17:24 pm
Ah eso no lo lei xD Bueno en tal caso puede usar:

Código
  1. <input type="text" pattern="^[0-9\.]+$" placeholder="solo numeros" />

O comprobarlo con javascript (como has mostrado).

Saludos


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: landerzx en 5 Diciembre 2014, 17:25 pm
ok la programacion es mas o menos asi  pero el metodo numeric() si existe y esta bien, si me vale pero aqui va la cosa


Código
  1. $("#btn_add_fila").click(function() {
  2.        var acumulador_porcentaje = 0;
  3.        var permitir_nueva_fila = 1;
  4.  
  5.        num_filas_materiales();//asigna la verdadera cantidad de filas de la tabla(contador_fila)
  6.        //automatiamente incrementa
  7.        // Almacenamos en una variable todo el contenido de la nueva fila que deseamos agregar
  8.        var nueva_fila = "<tr id='componentes_materiales_"+contador_fila+"' >"+
  9.                            "<td height='22' valign='middle' class='style4'>"+
  10.                                "<input type='hidden' name='txt_codigo_item[]' id='txt_codigo_item_"+contador_fila+"' />"+
  11.                                "<input type='text' readonly='readonly' name='txt_codigo_empresa[]' id='txt_codigo_empresa_"+contador_fila+"' />"+
  12.                                "<input type='text' name='txt_descripcion[]' id='txt_descripcion_"+contador_fila+"' size='30' onkeypress='autocompletado_productos_filas_dinamicas("+contador_fila+"); id_autocomplete_producto="+this.id+"' />"+
  13.                            "</td>"+
  14.                            "<td height='22' valign='middle' class='style4'>"+
  15.                                "<input type='text' name='txt_cantidad[]' class='imp_cantidad' id='txt_cantidad_"+contador_fila+"' size='15' />"+
  16.                            "</td>"+
  17.                            "<td height='22' valign='middle' class='style4'>"+
  18.                                "<input type='button' id='btn_remove_formula_det_"+contador_fila+"' onclick='eliminar_fila("+contador_fila+")' class='btn-icono-solo btn-icono-solo-suprimir clsEliminarFila' />"+
  19.                            "</td>"+
  20.                         "</tr>";
  21.            //contador_fila++;
  22.            var objTabla = "#tbl_materiales";
  23.  
  24.            // Agregamos la nueva fila a la tabla
  25.            $(objTabla).find('tbody').append(nueva_fila);
  26.  
  27.            // Si el cuerpo de la tabla esta oculto (al agregar una nueva fila) lo mostramos
  28.            if(!$(objTabla).find('tbody').is(':visible')){
  29.                // Le hacemos clic al titulo de la tabla, para mostrar el contenido
  30.                $(objTabla).find('caption').click();
  31.            }
  32.        });
  33. //eso si hace
  34.  
  35. html
  36. <table width="100%" border="0" cellpadding="0" cellspacing="0" class="c" id="tbl_materiales">
  37.                        <tr >
  38.                            <td width="60%" align="left" class="style22">MATERIALES</td>
  39.                            <td width="40%" colspan="2" align="left" class="style22">CANTIDAD</td>
  40.                        </tr>
  41.                     //aqui se agrega la fila
  42. </table>


veras el metodo que puse anteriormente si me coje pero como esto es un html agregado no valida eso de ingresar solo numeros, ese es un problema


Mod: Obligatorio el uso de etiquetas GeSHi.


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: landerzx en 5 Diciembre 2014, 17:27 pm
gracias  #!drvy, si me sirvio eso XDDD


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: Slikp en 5 Diciembre 2014, 17:56 pm
- No me sabia esta:

Código
  1. <input type="text" pattern="^[0-9\.]+$" placeholder="solo numeros" />
  2.  

- Gracias #!drvy.


Título: Re: filas dinamicas con inputs y solo numeros
Publicado por: MinusFour en 5 Diciembre 2014, 21:40 pm
- No me sabia esta:

Código
  1. <input type="text" pattern="^[0-9\.]+$" placeholder="solo numeros" />
  2.  

- Gracias #!drvy.

El problema con ese regex es que puedes tener cosas como:

0.0.0 que no es ningun numero.

Algo que se me ocurre:

Código
  1. <input type="text" pattern=pattern="^[0-9]+(?:[\.\,][0-9]+)?$" placeholder="solo numeros">

Puedes usar numeros decimales con comas o puntos o numeros enteros.


Título: Re: [Solucionado] filas dinamicas con inputs y solo numeros
Publicado por: exploiterstack en 10 Diciembre 2014, 10:10 am
No estaría mal que después de hacer lo que te dice #!drvy filtraras también esas validaciónes que deseas por medio de jQuery, etc...Y por supuesto en el lado del servidor si haces uso de este, ya que se puede saltar muy fácilmente.

Un saludo!