Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Gdzie umieścić tablice asocjacyjne?
Forum PHP.pl > Forum > Przedszkole
natka22
Witam,

Szkolę się dalej, tym razem uderzam z Java Script.

Skonstruowałam prosty formularz ze skryptem js wewnątrz pliku html, który dla danego pola sprawdza, czy zostało ono zaznaczone (w przypdaku pola radio) oraz czy dla danej grupy pól zostało wypełnione pole input. Chciałabym jeszcze to zrobić w obiekcie asocjacyjnym array() (tablica asocjacyjna, nie zwykła), aby później móc skrzętnie się dobierać do tych pól za pomocą indeksów z tejże tablicy. Wklejam kod formularza i skryptu do niego.

  1. <form id="idform" action="" method="post" onsubmit="return sprawdzDaneZad2(this)">
  2. <tr><td><span class="crodzaj">Rodzaj Płatności</span></td></tr>
  3. <tr><td><input type="radio" name="rodzaj" /> Przelew</td></tr>
  4. <tr><td><input type="radio" name="rodzaj" /> Karta</td></tr>
  5. <tr><td><input type="radio" name="rodzaj" /> Za Pobraniem</td></tr>
  6.  
  7. <tr><td>Numer Karty</td><td><input type="text" name="ile" id="numerKarty" /></td></tr>
  8. <p><input type="submit" value="Wyślij dane" id="idwyslij"/> </p>
  9. </form>


[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. function sprawdzDaneZad2(f){
  3. var i=0;
  4. if(f.rodzaj[0].checked) i++;
  5. if(f.rodzaj[1].checked) i++;
  6. if(f.rodzaj[2].checked) i++;
  7. f(i==0){ window.alert("Zaznacz jeden rodzaj!"); }
  8. if(f.rodzaj[0].checked || f.rodzaj[1].checked)
  9. { if(f.numerKarty.value.match('[0-9]{3,}')) {window.alert("ok"); return true; }
  10. else { window.alert("Wprowadz nr karty jako co najmiej 3 cyfry!") } }
  11. else { if(f.rodzaj[2].checked)
  12. { if(f.numerKarty.value.match('[0-9]{2,}'))
  13. { window.alert("Nr karty nie jest wymagany przy wysyłce za pobraniem"); }
  14. else {window.alert("ok") return true; } } } return false; }
  15. </script>
[JAVASCRIPT] pobierz, plaintext


Także proszę o wskazanie mi w jaki sposób i gdzie w kodzie mam odnieść wartości do tablic asocjacyjnych.
lukaskolista
1. W javascript nie ma tablic asocjacyjnych, są tylko obiekty
2. Patrz pkt. 1 i te obiekty trzymaj w głównej przestrzeni nazw (w tagu <script></script>)

Nie jestem ekspertem od js, ale coś tam kojarzę i tak to raczej powinno wyglądać.
Comandeer
A czemu w głównej przestrzeni nazw? W ES6 de facto dąży się do całkowitego wyeliminowania globalnej przestrzeni przez wprowadzenie systemu modułów. Na dzień dzisiejszy kod się izoluje, odpalając go w IIFE: http://benalman.com/news/2010/11/immediate...ion-expression/
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.