Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie formularza
Forum PHP.pl > Forum > XML, AJAX
Valker
Mam dość ciekawy problem.
Otóż tworze stronę całkowicie opartą na AJAXie. Przyciski w menu przełączają zawartość strony (pobierając jej wartość z różnych plikach itd).
Jedna z tych stron zawiera formularz.
I tutaj problem.
O ile w FireFoxie wszystko działa tak jak powinno, to na innych przeglądarkach nie chce.
Z tego co się zorientowałem JavaScript nie widzi tak jak by tych dynamicznie dodanych formularzy przez co nie mogę odwołać się do wartości zawartych w poszczególnym polach tego formularza.
Kod html formularza:
  1. <div class="login">
  2. <form id="login_form" name="login">
  3. <input type="password" id="account_name" name="account_name" maxlength="32"/>
  4.  
  5. <input type="password" id="password_login" name="password_login" maxlength="30"/>
  6.  
  7. <img src="token.php?time=<?php echo time(); ?>" name="tokenimg" id="tokenimg" style="position: absolute; left: 335px; top: 120px;">
  8. <input type="text" id="token" name="token" maxlength="5" />
  9. <input type="image" src="images/buttons/sbutton_iagree.gif" alt="Akceptuję" title="Akceptuję" id="iagree" onClick="check_login_form(); return false;">
  10. <input type="image" src="images/buttons/sbutton_cancel.gif" alt="Anuluj" title="Anuluj" id="cancel_login" onClick="select_file('account.php'); return false;">
  11. </form>
  12. </div>

i kod JS odpowiedzialny za obsługę:
  1. var oXml;
  2.  
  3. function check_login_form()
  4. {
  5. document.getElementById('main_content').innerHTML = '<br/><br/><center><img src="images/loader.gif"></center>';
  6. alert(document.forms[0]);
  7. var file = 'file.php?file=login.php&check=1&account_name='+document.login.account_name.value+
  8. '&pass='+document.login.password_login.value+
  9. '&token='+document.login.token.value;
  10.  
  11. oXml = zXmlHttp.createRequest();
  12. oXml.open('GET', file, true);
  13. oXml.onreadystatechange = function ()
  14. {
  15. if (oXml.readyState == 4 && oXml.status == 200)
  16. {
  17. document.getElementById('main_content').innerHTML = oXml.responseText;
  18. }
  19. }
  20. oXml.send(null);
  21. }


Co może być powodem tego questionmark.gif
Szukałem w google/na forum i nie mogłem znaleźć odpowiedzi -.-
Alert wyświetla mi: undefinited
Fifi209
Po pierwsze jak chcesz używać ajaxa to proponuję jakiegoś FW np. jQuery bo jest prosty i posiada dużą dokumentację.

Tak się dzieje zawsze, że js nie widzi dynamicznie wczytanych treści, tak samo jakbyś diva wczytał to też go nie zobaczy, rozwiązanie ? jQuery + live
http://docs.jquery.com/Events/live
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.