Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX] validacja formularza, Sprawdzanie w tle czy nick istnieje
xajart
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 1
Dołączył: 2.12.2008

Ostrzeżenie: (0%)
-----


Witam.

Realizuje pewien projekt z elementami ajaxa. I chciałbym wbudować w formularz sprawdzanie w tle czy dany nick istnieje w bazie danych. 

Mianowicie chodzi o to że mam w formularzu pole input, do którego jak użytkownik wprowadzi nazwe swojego nick, to automatycznie by skrypt w tle sprawdzał w bazie danych czy taki nick już istnieje i obok pola input by pojawiał się obrazek potwierdzający że jest wolny lub zajęty. 

Znalazłem w necie mase skryptów ale wszystkie dotyczna przycisku submit i wywołania funkcji przez onclick, a mi chodzi o to by bez klikania w przycisk, tylko po wypełnieniu pola i przejściu do następnego wiersza (tablulatorem lub wskaźnikiem myszki), aplikacja automatycznie w tle sprawdziła tą wpisana wartość i porównała z wynikami z bazy danych czy nick taki istnieje (czyli występuje w jednym rekordzie) czy może nieistnieje (zwraca 0 rekordów).

Ten post edytował xajart 12.05.2009, 09:53:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
xajart
post
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 1
Dołączył: 2.12.2008

Ostrzeżenie: (0%)
-----


Od rana siedziałem nad dokumentacja JQuery, bardzo przydatna dokumetnacja, teraz to rozbuduje na swoje potrzeby, ale może komuś się przyda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)  

Moje rozwiązanie:



Kod
...

<script src="http://code.jquery.com/jquery-latest.js"></script>
 
  <script>
 $(document).ready(function(){
     $("input[type='text']#name").change( function() {
         var str = $(this).val();

         $.ajax({
                type: "POST",
                url:  "sprawdz.php",
                data: { name: str },
                // msg zawiera wartość zwróconą przez skrypt php,
                // w przypadku poprawnego zakończenia działania
                beforeSend: function (XMLHttpRequest) {
                        $("div#content").html("Trwa sprawdzanie loginu.");
                },
                success: function(msg) {
                    // zapiszmy wynik działania skryptu na stronie html w div o id=”content”
                    $("div#content").html(msg);
                 },
                 error: function (XMLHttpRequest, textStatus, errorThrown) {
                     $("div#content").html('Przepraszamy, wiadomość nie mogła zostać wysłana.');
                 }
         });
     });
 });
  </script>
  <style>
  div { color:red; }
  </style>
</head>
<body>
<input type="text" id="name" />
<input type="text" id="name2" />
 
  <div id="content"></div>
</body>
</html>


plik sprawdz.php

Kod
echo $_POST["name"];




temat można zamknąć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował xajart 13.05.2009, 10:28:34
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 17:53