Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]
Forum PHP.pl > Forum > Przedszkole
n0wy
Mam formularz, w którym użytkownik może dodać dynamicznie i wpisać dowolną ilość pól tekstowych

  1. <input type="text" name="linki_link[0]" class="link" size="100" />
  2. <input type="text" name="linki_link[1]" class="link" size="100" />
  3. ...


Z odbieraniem danych nie mam żadnych problemów. Wszystko jest w tablicy $_POST.
Próbowałem zwalidować wprowadzane przez użytkownika dane w JavaScripcie i nie mogę pobrać wpisanych wartości.
Próbowałem:

  1. f.linki_link[0].value
  2. getElementsByName("linki_link[0]").value //tutaj otrzymuje "undefined"


Mogę ewentualnie dodawać do nazwy cyfrę zamiast tej tablicy, ale jeśli nie muszę, to chętnie się dowiem, co robię źle;]
Z góry dziękuje za wszelką pomoc.
erix
Cytat
Mogę ewentualnie dodawać do nazwy cyfrę zamiast tej tablicy, ale jeśli nie muszę, to chętnie się dowiem, co robię źle;]

IE chyba nie obsługuje getElementsByName.

Jest jeszcze funkcja getElementsByClassName, ale z nią trzeba się nieco napocić ze względu na brak jej obsługi w IE.
n0wy
Dzięki za podpowiedź.
Poszukałem po necie trochę i znalazłem taką funkcje:

  1. function getElementsByClassName(cn){
  2. var arr = new Array();
  3. var els = document.getElementsByTagName("*");
  4. var exp= new RegExp("^(.* )?"+cn+"( .*)?$", "g");
  5. for (var i = 0; i < els.length; i++ ){
  6. if (exp.test(els[i].className)){
  7. arr.push(els[i]);
  8. }
  9. }
  10. return arr;
  11. }


Wystarczy użyć:
  1. linki = getElementsByClassName("link"); // link - nazwa klasy


i mamy tablicę odwołań do wszystkich tagów oznaczonych klasą 'link'.
Działą na pewno w ff i ie7, reszty nie sprawdzałem.
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.