Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]validacja moja problemy
Forum PHP.pl > Forum > Przedszkole
martex
Witam
Robię prostą walidacje ale mam problem aby była ona dla wszystkich inputów na stronie po id działa a jak chce po classach nic sie nie dzieje
ma ktoś pomysł jak to zrobić questionmark.gif
generalnie ma to być tak że jeśli pola input puste to wyświetl diva z komunikatem

  1. <div class="errorAlert" style="display:none;">wypełnij pola.</div>
  2. <form>
  3. <input type="text" class="required" value="">
  4. <input type="text" class="required" value="">
  5. <input type="text" class="required" value="">
  6. <input type="submit" value="ok" class="das">
  7. </form>
  8.  
  9. <script type="text/javascript">
  10. $(document).ready(function (){
  11.  
  12. $("body").on("click", ".das", function(event){
  13. var validate = document.getElementsByClassName("required").value;
  14. if (validate.length == 0) {
  15. $('.errorAlert').css("display","block");
  16. //alert('Nie wpisałeś żadnej wartości!')
  17. } else {
  18. alert('tekst ' );
  19. }
  20. });
  21.  
  22. });
CuteOne
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function (){
  2.  
  3. $(".das").bind("click", function(){
  4. var validate = $(".required").val();
  5. if (validate.length == 0) {
  6. $('.errorAlert').css("display","block");
  7. //alert('Nie wpisałeś żadnej wartości!')
  8. } else {
  9. alert('tekst ' );
  10. }
  11. });
  12.  
  13. });
[JAVASCRIPT] pobierz, plaintext
kamil4u
Powyższe nie zadziała poprawnie - musisz skorzystać z .each() przy $(".klasa"). Proponowałbym: http://jsfiddle.net/3yure/

Dodatkowo użyłem zdarzenia submit( w tym wypadku bardziej poprawne rozwiązanie ) + dodałem kolorek w celu informowaniu o błędzie.
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function (){
  2. $("#test").bind("submit", function(){
  3. var ok = true;
  4. $(".required").each(function(){
  5. if( $(this).val().length == 0 ){
  6. $(this).css("border","1px solid #f00");
  7. ok = false;
  8. } else {
  9. $(this).css("border","");
  10. }
  11. });
  12. if( !ok ){
  13. $('.errorAlert').css("display","block");
  14. return false;
  15. }
  16.  
  17. return true;
  18. });
  19. });
[JAVASCRIPT] pobierz, plaintext


Jakbym samemu robiłbym taką walidację danych to użyłbym HTML 5, który to ma tę funkcjonalność wbudowaną smile.gif - http://www.w3schools.com/tags/att_input_required.asp

Pozdrawiam
Turson
Cytat(kamil4u @ 8.11.2013, 22:57:39 ) *
Jakbym samemu robiłbym taką walidację danych to użyłbym HTML 5, który to ma tę funkcjonalność wbudowaną smile.gif - http://www.w3schools.com/tags/att_input_required.asp

Niestety nie każdy korzysta z nowoczesnych przeglądarek mellow.gif

Najlepszym wyjściem jest walidacja na 3 sposoby:
1. Required HTML5
2. JavaScript
3. PHP (gdy 2 poprzednie opcje zawiodą (a jak najbardziej mogą))
kamil4u
Cytat
Niestety nie każdy korzysta z nowoczesnych przeglądarek mellow.gif

Dla tych co nie mają zostaje walidacja po stronie PHP smile.gif - czyli omijam Twój drugi punkt.

Chyba, że ktoś zażyczy sobie inaczej smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.