Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: advAJAX - jak sformułować warunek
Forum PHP.pl > Forum > XML, AJAX
windman
Witam,

Rozbudowuję formularz dodawania nowej strony o opcję sprawdzania, czy wpisana nazwa strony już nie istnieje w bazie, przed wysłaniem formularza, a więc onblur na pole z nazwą.

Wszystko pięknie działa, dgy strona jest w bazie otrzymuję piękny komunikat.
JS sprawdza czy zmienna 'wynik' czyli obj.responseText; nie jest pusta, ajk nie to wyświetla komunikat. Problem w tym, że zmienna ta nigdy nie jest pusta, nawet gdy plik PHP nie wyświetla ECHO.

Co zawiera zmienna wynik gdy strony w bazie nie ma, czyli $ile==0?
Potrzebuję tego aby nie wyświetlać elementu KOMUNIKAT gdy wszystko jest ok.

Pozdrawiam.


plik PHP który sprawdza w bazie nazwę strony
  1. <?
  2. header("Content-Type: text/html; charset=iso-8859-2");
  3. include('config.php');
  4. //SPRAWDŹ CZY DODAWANA STRONA JUŻ NIE ISTNIEJE
  5. if($_GET['opcja']=="sprawdz_nazwe_strony"){
  6.  $rezultat=mysql_query("SELECT page FROM {$prefix_tabela}_pages WHERE page='$_GET[page]'");
  7.  $ile=mysql_num_rows($rezultat);
  8. if($ile!=0){
  9.  echo "Wybrana nazwa systemowa została już wybrana dla innej strony.";
  10. }
  11. }//if($_GET['opcja']=="sprawdz_nazwe_strony"){
  12. ?>


Skrypt wywołujący plik PHP i sprawdzający wynik działania skryptu
Kod
<BR>function sprawdz(strona){<BR> advAJAX.get({<BR>      url: "ajax_php.php?opcja=sprawdz_nazwe_strony&page="+strona,<BR>      <BR>      onSuccess : function(obj) { <BR>       var wynik = obj.responseText; <BR>       var blok = document.getElementById("komunikat");<BR>       <BR>       if(wynik!=""){             <BR>        <BR>        blok.innerHTML=obj.responseText;<BR>        blok.style.display = 'block';<BR>       }<BR>        <BR>      }//onSuccess : function(obj) {<BR>  });<BR>}//function sprawdz()<BR>
skowron-line
mozesz sobie przeslac tyko tylko liczbe znalezionych wynikow i na tej podstawie z poziomu JS generowac sobie komunikat poprzez
innerHTML
windman
Dzięki skowron-line o to chodziło.

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