Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2010, 18:38
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
jquery: .prev()

Tengo un script de validacion. Lo que hace es marcar en rojo el span.label que haya antes del elemento vacio. Me funciona en todos los campos salvo en el de año.

Lo que creo que puede estar fallado es esto: .prev(".label")

Pongo un ejemplo que si funciona, y luego el input con el año:

Código Javascript:
Ver original
  1. <span class="label">Nombre</span>
  2.     <input type="text" name="nombre" value="" />

Código Javascript:
Ver original
  1. <span class="label">Fecha de nacimiento (d/m/a)</span>
  2.     <input type="text" name="nacimiento[]" value="" class="fecha" />
  3.     <select name="nacimiento[]">
  4.     <option value="1">Enero</option>
  5.             <option value="2">Febrero</option>
  6.             <option value="3">Marzo</option>
  7.             <option value="4">Abril</option>
  8.             <option value="5">Mayo</option>
  9.             <option value="6">Junio</option>
  10.             <option value="7">Julio</option>
  11.             <option value="8">Agosto</option>
  12.             <option value="9">Septiembre</option>
  13.             <option value="10">Octubre</option>
  14.             <option value="11">Noviembre</option>
  15.             <option value="12">Diciembre</option>
  16.     </select>
  17.     <input type="text" name="nacimiento[]" id="year" value="" class="fecha" />

Me marca en rojo si falta el dia, pero no si falta el año. Incluso he intentado adjudicarle un validador propio, pero no funciona:
Código Javascript:
Ver original
  1. if ( $("input#year").val().length < 4 ) // año.
  2.         {                  
  3.             respuestas[] = false;  
  4.             $(this).focus();
  5.             $(this).prev(".label").addClass("incompleto");
  6.         }