Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advajax] firefox
Forum PHP.pl > Forum > XML, AJAX
uli
Witam!

Zacząłem bawić się z Ajaxem i napotkałem na problem, którego nie potrafię obejść.
W związku z tym proszę o pomoc.

Pod IE działa jak najbardziej prawidłowo, tzn. na submit sprawdza i jeśli login lub email sie powtarza to wyskakuje alert i border pola robi się czerwony.
Pod FF na submit się po prostu submituje (przechodzi do register3.php), a ewentualne błędy pokazuje dopiero po wciśnięciu "Wstecz".

Cały przykład z artykuły nospor'a biggrin.gif

Kod:

index.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>rejestracja nowego użytkownika</title>
  4. <script type="text/javascript" src="advajax.js"></script>
  5. <script type="text/javascript" src="register.js"></script>
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. </head>
  9. <form action="register3.php" method="POST" id="registerForm" name="registerForm">
  10. <tr><td class="napis">Login:</td><td><input type="text" name="login" id="login"></td></tr>
  11. <tr><td class="napis">Hasło:</td><td><input type="password" name="Haslo"></td></tr>
  12. <tr><td class="napis">Powtórz hasło:</td><td><input type="password" name="Haslo2"></td></tr>
  13. <tr><td class="napis">E-mail:</td><td><input type="text" name="email" id="email"></td></tr>
  14. <tr><td colspan="2" style="text-align: center;"><button onClick="sprawdz_dane();">Zarejestruj mnie...</button></td></tr>
  15. </form>
  16. </body>
  17. </html>


Register.js:

  1. function $(id) {
  2. return document.getElementById(id);
  3. }
  4. function sprawdz_dane() {
  5. var login = $("login").value;
  6. var email = $("email").value;
  7. var zapytanie = "register2.php?login="+login+"&email="+email;
  8. advAJAX.get({
  9. url : zapytanie,
  10. onSuccess : function(obj) {
  11. if(obj.responseText == "login") {
  12. alert("Użytkownik o takim loginie jest już w bazie danych");
  13. $("login").style.border='1px solid red';
  14. $("email").style.border='1px solid #7F9DB9';
  15. }
  16. if(obj.responseText == "email") {
  17. alert("Ten e-mail isntieje już w bazie danych");
  18. $("login").style.border='1px solid #7F9DB9';
  19. $("email").style.border='1px solid red';
  20. }
  21. if(obj.responseText == "OK")
  22. $("registerForm").submit();
  23. }
  24. });
  25. }


Register2.php:

  1. <?
  2. $dbhost = 'localhost';
  3. $dblogin = 'root';
  4. $dbhaslo = '';
  5. $db = 'testowa';
  6. $sql = mysql_connect ($dbhost, $dblogin, $dbhaslo) or die ("Nie masz uprawnien");
  7. $login = mysql_escape_string($_GET['login']);
  8. $email = mysql_escape_string($_GET['email']);
  9. $query = "SELECT count(*)AS Ile FROM test1 WHERE Login='".$login."';";
  10. $result = mysql_query($query);
  11. $row = mysql_fetch_array($result);
  12. if($row['Ile']) 
  13.  echo 'login';
  14. else {  
  15.  $query = "SELECT count(*)AS Ile FROM test1 WHERE e_mail='$email';";  
  16.  $result = mysql_query($query);
  17.  $row = mysql_fetch_array($result);
  18.  if($row['Ile'])
  19. echo 'email';
  20.  else echo 'OK';
  21. }
  22. ?>


Wiadomo, że register3.php to plik dowolny do którego trafiają dane po przebrnięciu przez Ajaxa, więc nie będę go tu umieszczał.

Nospor - do tablicy Cię wywołuję!! smile.gif W końcu to Twój przykład biggrin.gif
nospor
Kod
Cały przykład z artykuły nospor'a
....
Nospor - do tablicy Cię wywołuję  W końcu to Twój przykład

ze jak? Dzisiaj mam chyba powazną zaćmę bo nie kojarze tego kodu. Na dodatek pisany jest w zupelnie innym stylu niz ja to robie.
Rzuc linkiem do tego artykulu.

zmien: <button onClick="sprawdz_dane();">
na: <button onclick="sprawdz_dane();return false;">
uli
Pomogło smile.gif

I zwracam HONOR!
Przeglądałem sekundę przed tym przykładem jakieś Twoje posty i z rozpędu przypisałem Tobie ten przykład worriedsmiley.gif worriedsmiley.gif worriedsmiley.gif

Przepraszam.

Autorem jest również user z php.net: TomASS

Nospor sorki raz jeszcze!! smile.gif
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.