Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Active Validate JS+AJAX, jak napisac funkcje ktora bedzie zdalnie czekac na zdarzenie elementu
Beynar
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 6.12.2007

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


Potrzebuje zrobic na stronie tzw. Active validate. Wiec jak mam formularz lub\i formularze to za pomoca JS zbieram liste wszystkich pol. Chcialbym aby wartosci pol wraz z ich ID gdy urzytkownik wprowadzi dane zostaly poddane wlidacji poprzez AJAX wyslane do serwera, ktory sprawdzi ktore pole jest walidowane oraz sprawdzi jego wartosc po czym odpowie zwracajac 1 gdy wartosc pola jest nieprawidlowa(np. za malo jest znakow).

Wszystko jest dobrze tylko ja nie-chce dopisywac do kazdego pola wartosci onchange="blabla" tyko aby skryt sam mi zliczyl pola i oczekiwal na zdazenia z danego pola. Probowalem zapisac taki oto kod

Nasz formularz:
Kod

  <form id="rejestracja" method="post" action="index.html">
      <input type="text" id="FIRST_NAME" name="FIRST_NAME"/>
       <input type="text" id="LAST_NAME" name="LAST_NAME" />
       <input type="text" id="EMAIL" name="EMAIL" />
       <input type="submit" id="SUBMIT" value="rejestruj" />
  </form>


Skrypt zwracajacy tablice ID wszystkich pol, z wszystkich formow w dokumencie:
Kod
     <script>
       var formsNo=document.forms.length;
       var tab=new Array();
  
       for(var i=0; i < formsNo; i++){
           inputsNo=document.forms[i].elements.length;
           for(c=0; c<inputsNo; c++ ){
               element=document.forms[i].elements[c];
               tab.push(element.id);
           }
       </script>



Wiec jak mam formulaz to skrypt powyzej zlicza pola i ID tych pol zapisuje do tablicy "tab". Jak teraz zrobic aby przy zdarzeniu onchange zostal wykonany jakis skrypt, probowalem zapisac do tej tablicy:
Kod
"document.forms[i].elements[c].onchange=function(){alert(document[forms[i].elements[c].id);}"
...aby przy zdarzeniu onchange wykonala sie funkcja i wyswietli mi okienko z ID pola formularza, taki zapis mi niedziala bo do tablicy zapisuje mi stringi gdy wyswietlilem sobie zawartosc jednego pole w tej tablicy to mialem forms[i].elements[c] niepodstawialo mi wartosci "i" i "c".

Zatem jak napisac ta funkce aby oczekiwala na zdarzenie pochodzace z pola formularza?? Oraz aby ta funkcja niebyla z dokumencie ale w sekcji head


Ten post edytował Beynar 25.12.2007, 11:51:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Beynar
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 6.12.2007

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


dobrze wszystko ok ale czy moge jakos tak zrobic zeby ten skrypt byl w head albo w pliku skrypt.js??
bo chodzi oto ze ja przy kazdym zaladowaniu formulaza bede musial dopisywac ten skrypt na koncu.
formularze dopisuje za pomoca AJAX'a wiec chcialbym poprostu nawet juz tylko na koncu formularzy wywolac funkcje ktora bylaby zaladowana w head
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 23:24