Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript], tablica pól tekstowych
n0wy
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 12.09.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował n0wy 15.03.2009, 00:01:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
n0wy
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 12.09.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 00:20