2012-09-13 22 views
10

Dado este código HTML con jQuery validarjQuery Validar no detectada TypeError: No se puede llamar al método 'getAttribute' de la indefinida

<input id="accept-terms" type="checkbox" class="required"/> 
<label for="accept-terms"> I accept the <asp:HyperLink ID="termsLink" runat="server" Target="_blank">terms and condtions</asp:HyperLink> of sale.</label> 
<label for="accept-terms" class="error-text">You must accept the terms and conditions before purchasing</label> 

consigo este error:

Uncaught TypeError: Cannot call method 'getAttribute' of undefined

Respuesta

22

El atributo 'nombre' es que falta:

<input id="accept-terms" name="accept-terms" type="checkbox" class="required"/> 

(Esto me tomó un tiempo darme cuenta, así que pensé en compartir la pregunta y la solución)

También: Verifique los comentarios a continuación, ya que otros han publicado otras causas para la misma excepción.

+3

Esto aparentemente también puede suceder si tiene un formulario dentro de otra forma. –

+0

estoy teniendo el mismo problema con un TextArea que ya tiene un atributo 'name' – mbmihura

+0

Acabo de leer que también puede ser debido a un nombre de regla faltante. En mi situación, he creado una regla personalizada, que no se cargaba correctamente, y el validador no pudo encontrarla (por lo que arrojó el "Tipo de error no capturado: no se puede llamar al método 'getAttribute' de undefined") – mbmihura

Cuestiones relacionadas