Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery + ajax
Forum PHP.pl > Forum > XML, AJAX > AJAX
zomb
Witam,
zacząłem bawić się jQuery. Znalazłem w sieci skrypt sprawdzający pola:
http://roshanbh.com.np/2008/04/check-usern...php-jquery.html

chciałem go trochę przerobić:

  1. <script language="javascript">
  2. $(document).ready(function()
  3. {
  4. $("#username").blur(function()
  5. {
  6. //remove all the class add the messagebox classes and start fading
  7. $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
  8. //check the username exists or not from ajax
  9. $.post("user_availability.php?co=acc",{ user_name:$(this).val() } ,function(data)
  10. {
  11. if(data=='no') //if username not avaiable
  12. {
  13. $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
  14. {
  15. //add message and change the class of the box and start fading
  16. $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1);
  17. });
  18. }
  19. else
  20. {
  21. $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
  22. {
  23. //add message and change the class of the box and start fading
  24. $(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
  25. });
  26. }
  27.  
  28. });
  29.  
  30. });
  31. });


główna "przeróbka" to:
  1. $.post("user_availability.php?co=acc",{ user_name:$(this).val() } ,function(data)


oraz:
  1. switch ($_GET['co']) {
  2. case 'acc':
  3. $existing_users=array('roshan','mike','jason');
  4. //value got from the get metho
  5. $user_name=$_POST['user_name'];
  6. //checking weather user exists or not in $existing_users array
  7. if (in_array($user_name, $existing_users))
  8. {
  9. //user name is not availble
  10. echo "no";
  11. }
  12. else
  13. {
  14. //user name is available
  15. echo "yes";
  16. }
  17. break;
  18.  
  19. }


  1. <div >
  2. User Name : <input name="username" type="text" id="username" value="" maxlength="15" />
  3. <span id="msgbox" style="display:none"></span>
  4. </div>



czyli dodanie switcha, niestety po tym co zrobiłem skrypt przestał działać, switcha dodałem w celu "zautomatyzowania" skryptu (żebym później nie musiał tworzyć osobnych plików .js i .php do sprawdzania). Wiem że problem jest w przekazywaniu zmiennej czyli $user_name=$_POST['user_name'];, po prostu nie czyta tego co się wpisało tylko cały czas pisze że można zarejestrować pomimo tego że wpisze się mike ect.
Proszę o pomoc.
Scalak
Witam,
sprawdziłem - działa. Czy uruchamiasz to na serwerze (localhost itp.) ?

Scalak

---- edit ----
musisz na serwerze bo odpytujesz Ajaxem stronę php.
zomb
tak na localhost.

wrzuciłem na serwer ale dalej nie działa:
http://zomb.zproject.pl/username-available/
co bym nie wpisał: mike itd to pokazuje:
"Username available to register"
Scalak
a w pliku php masz dokładnie to co podałeś? Sprawdzam jeszcze raz i hula...
zomb
hah... ciekawe...
miałem tak:
  1. <?php
  2. // Developed by Roshan Bhattarai
  3. // Visit <a href="http://roshanbh.com.np" target="_blank">http://roshanbh.com.np</a> for this script and more.
  4. // This notice MUST stay intact for legal use
  5.  
  6. //this varible contains the array of existing users
  7.  
  8. ?>
  9.  
  10. <?php
  11.  
  12. switch ($_GET['co']) {


usunąłem pierwsze <?php razem z treścią i działa....
Scalak
php zapewne zwracał coś poza "no" i stąd nie wchodził do odpowiedniego warunku w js, jeśli nadal nurtuje Cię dlaczego nie działał dodaj alert(data) w funkcji rozpoczętej w lini #9.

Pozdrawiam
Scalak
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.