Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAJAX] .assign() który ma być nieaktywny przy wyłączonym JS
Forum PHP.pl > Forum > XML, AJAX > AJAX
nexis
Mam taką funkcję:

  1. function registration() {
  2. advAJAX.assign(document.getElementById("registration"), {
  3. onInitialization : function() {
  4. document.getElementById("result").style.visibility = "visible";
  5. document.getElementById("result").style.background = "#ff0000";
  6. document.getElementById("result").style.color = "#ffffff";
  7. document.getElementById("result").innerHTML = "Trwa laczenie...";
  8. },
  9. onSuccess : function(obj) {
  10. if (obj.responseText == "success") {
  11. document.getElementById("result").style.background = "#94FF29";
  12. document.getElementById("result").style.color = "#000000";
  13. document.getElementById("result").innerHTML = "Trwa laczenie...";
  14. } else {
  15. /*
  16. * Tutaj chcialbym dodac obsluge kolorowania poszczegolnych inputow,
  17. * ktore sa zle wypelnione. Jakies pomysly?
  18. */
  19. }
  20. }
  21. });
  22. }


A formularz wygląda mniej więcej tak (podaję kilka pól dla przykładu):

  1. <div id="result" style="visibility: hidden;"></div>
  2. <br />
  3. <form action="registration.php" method="post" id="registration">
  4. <table cellpadding="5">
  5. <tr>
  6. <td width="100">adres e-mail:</td>
  7. <td><input type="text" name="email" id="email" /></td>
  8. </tr>
  9. <tr>
  10. <td valign="top">hasło:</td>
  11. <td><input type="password" name="pass1" id="pass1" /></td>
  12. </tr>
  13. <tr>
  14. <td>powtórz hasło:</td>
  15. <td><input type="password" name="pass2" id="pass2" /></td>
  16. </tr>
  17. <tr>
  18. <td>&nbsp;</td>
  19. <td align="right"><input type="submit" value="Zarejestruj się" /></td>
  20. </tr>
  21. </table>
  22. </form>


Plik registration.php generuje oczywiście odpowiednie informacje zwrotne. Ale co się dzieje kiedy użytkownik ma wyłączoną obsługę JavaScript w przeglądarce? Otóz formularz wykona się tradycyjną drogą i użytkownik zostanie przeniesiony do registration.php, który wyświetli mu jednak niestety krótką informację zwrotną - nie zaś stronę HTML.

Jak zrobić, żeby submit działał tylko przy włączonej obsłudze JavaScript?

  1. <input type="button" value="Zarejestruj się" onclick="document.registration.submit();" />
działa, ale wtedy kod AJAX nie zostanie zaimplementowany.
kufalo
Cytat
Jak zrobić, żeby submit działał tylko przy włączonej obsłudze JavaScript?

Nie wkladac pomiedzy <form></form>
nexis
Cytat
Nie wkladac pomiedzy <form></form>


Chyba warto zaznaczyć, że nie sprawdzałeś tej metody nawet i nie zadziała, ponieważ advAJAX pobiera ze znacznika
wszystkie informacje (id, action, method)!
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.