Foros del Web » Programando para Internet » Jquery »

validar datos con jquery

Estas en el tema de validar datos con jquery en el foro de Jquery en Foros del Web. Hola, tengo un select con valores del 1 al 20, despues tiene un valor "otro", cuando "otro" esta marcado, aparace un input text (mediante jQuery) ...
  #1 (permalink)  
Antiguo 18/03/2012, 18:38
 
Fecha de Ingreso: diciembre-2011
Ubicación: Chile
Mensajes: 36
Antigüedad: 12 años, 5 meses
Puntos: 2
validar datos con jquery

Hola, tengo un select con valores del 1 al 20, despues tiene un valor "otro", cuando "otro" esta marcado, aparace un input text (mediante jQuery) , al enviar el form tengo una validacion que funciona super bien, el problema es que necesito que valide otro campo y hay es cuando no me funciona la validacion

estos son los datos

validador jquery:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //valido form y envio cotizacion     
  3.         function envia(){
  4.             if(($('#cantidad').val()=="otro") && ($('#otro').val()=="")){
  5.                 alert("Agrege la cantidad de items a comprar");
  6.                 //return false;        
  7.                 }
  8.  
  9.                
  10.             else {                 
  11.                     $("#formulario").submit()
  12.                  }
  13.         }
  14.        
  15.  
  16. </script>

extracto del formulario donde aplico la validacion:


Código HTML:
Ver original
  1. <div class="sep">
  2.       <select name="cantidad" id="cantidad">
  3.         <option value="0">Seleccione</option>
  4.         <option value="1">1</option>
  5.         <option value="2">2</option>
  6.         <option value="3">3</option>
  7.         <option value="4">4</option>
  8.         <option value="5">5</option>
  9.         <option value="6">6</option>
  10.         <option value="7">7</option>
  11.         <option value="8">8</option>
  12.         <option value="9">9</option>
  13.         <option value="10">10</option>
  14.         <option value="11">11</option>
  15.         <option value="12">12</option>
  16.         <option value="13">13</option>
  17.         <option value="14">14</option>
  18.         <option value="15">15</option>
  19.         <option value="16">16</option>
  20.         <option value="17">17</option>
  21.         <option value="18">18</option>
  22.         <option value="19">19</option>
  23.         <option value="20">20</option>
  24.         <option value="otro">Otro</option>
  25.         </select>        
  26.        <a href="javascript:envia();" id="boton"><img src="imagenes/boton_agregar.png" width="85" height="18" /></a>
  27.      
  28.       <div id="otro_otro" class="otro">
  29.       <br />Agrega la cantidad necesaria:
  30.       <input name="otro" type="text" id="otro" />
  31.       </div><!-- /otro -->


Lo que falla es que cuando quiero meter a la validacion los input radios (son dinamicos atravez de php)

Código PHP:
Ver original
  1. <?php
  2. if (!empty($row_pro["foto_01"])) {
  3.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_01"].'" id="diseno" /> '.$row_pro["diseno_01"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=1"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  4. }
  5. if (!empty($row_pro["foto_02"])) {
  6.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_02"].'" id="diseno" /> '.$row_pro["diseno_02"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=2"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  7. }
  8. if (!empty($row_pro["foto_03"])) {
  9.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_03"].'" id="diseno" /> '.$row_pro["diseno_03"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=3"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  10. }
  11. if (!empty($row_pro["foto_04"])) {
  12.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_04"].'" id="diseno" /> '.$row_pro["diseno_04"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=4"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  13. }
  14. if (!empty($row_pro["foto_05"])) {
  15.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_05"].'" id="diseno" /> '.$row_pro["diseno_05"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=5"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  16. }
  17. if (!empty($row_pro["foto_06"])) {
  18.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_06"].'" id="diseno" /> '.$row_pro["diseno_06"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=6"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  19. }
  20. if (!empty($row_pro["foto_07"])) {
  21.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_07"].'" id="diseno" /> '.$row_pro["diseno_07"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=7"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  22. }
  23. if (!empty($row_pro["foto_08"])) {
  24.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_08"].'" id="diseno" /> '.$row_pro["diseno_08"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=8"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  25. }
  26. if (!empty($row_pro["foto_09"])) {
  27.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_09"].'" id="diseno"  /> '.$row_pro["diseno_09"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=9"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  28. }
  29. if (!empty($row_pro["foto_010"])) {
  30.     echo '<input name="diseno" type="radio" value="'.$row_pro["diseno_010"].'" id="diseno" /> '.$row_pro["diseno_10"].' <a href="detalle_producto.php?idProducto='.$row_pro["idProducto"].'&idCat='.$_GET["idCat"].'&variante=10"><img src="imagenes/ico_lupa.png" height="15" /></a><br />';
  31. }
  32.  
  33.  
  34.  ?>

no funciona como dejo el validador

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //valido form y envio cotizacion     
  3.         function envia(){
  4.             if(($('#cantidad').val()=="otro") && ($('#otro').val()=="")){
  5.                 alert("Agrege la cantidad de items a comprar");
  6.                 //return false;        
  7.                 }
  8.                
  9.            else if($("#diseno").is(':checked')) {  } else {  
  10.                 alert("Indique el Diseño");  
  11.                 //return false;
  12.                
  13.             else {                 
  14.                     $("#formulario").submit()
  15.                  }
  16.         }
  17.        
  18.  
  19. </script>

de esta menera, no pasa nada, no envia el form, no valida los primeros campos, y tampoco los input radios.

alguna sugerencia?
  #2 (permalink)  
Antiguo 19/03/2012, 20:37
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 3 meses
Puntos: 57
Respuesta: validar datos con jquery

Lo primero que noté fue que en tu validación (en la linea 9) usas "#diseño" haciendo referencia al identificador del elemento, cuando en realidad los input's radio no tiene ID.

Yo usaría: $('input[type=radio][name=diseno]'). Eso te devuelve todos los input radio que tengan el name='diseno'.

Prueba y dime que tal te fué.

Etiquetas: formulario, funcion, input, php, botones
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 06:56.