2012-09-13 16 views
10

Biorąc pod uwagę to HTML za pomocą jQuery sprawdzaniajQuery Walidacja Uncaught TypeError: nie można nazwać metodą 'getAttribute' o nieokreślonej

<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> 

otrzymuję ten błąd:

Uncaught TypeError: Cannot call method 'getAttribute' of undefined

Odpowiedz

22

atrybut 'name' brakuje:

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

(Zajęło mi to trochę czasu, więc pomyślałem, że podzielę się pytaniem i rozwiązaniem)

Ponadto: Sprawdź poniższe komentarze, ponieważ inne osoby zamieściły inne przyczyny tego samego wyjątku.

+3

Może się to zdarzyć, jeśli masz formularz w innej formie. –

+0

Mam ten sam problem z usługą TextArea, która ma już atrybut "nazwa". – mbmihura

+0

Po prostu przeczytaj, że może to być również spowodowane brakującą nazwą reguły. W mojej sytuacji utworzyłem regułę niestandardową, która nie ładowała się prawidłowo, a narzędzie sprawdzające poprawność nie było w stanie jej znaleźć (tak więc rzucił "Uncaught TypeError: Can not call method" getAttribute "z undefined") – mbmihura

Powiązane problemy