Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP] Modyfikacja formularza pod skrypt
-berero-
post 22.06.2013, 13:52:07
Post #1





Goście







Korzystam ze skryptu sprawdzającego przy rejestracji, czy podany login i e-mail znajdują się już w bazie.
Skrypty:
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function()
  4. {
  5. $("#user").change(function()
  6. {
  7. var user = $("#user").val();
  8. var msgbox = $("#status");
  9.  
  10. if(user.length > 4)
  11. {
  12. $("#status").html('<img src="loader.gif">&nbsp;Sprawdzanie dostępności.');
  13. $.ajax({
  14. type: "POST",
  15. url: "check_user.php",
  16. data: "user="+ user,
  17. success: function(msg){
  18. $("#status").ajaxComplete(function(event, request){
  19. if(msg == 'OK')
  20. {
  21. $("#user").removeClass("red");
  22. $("#user").addClass("green");
  23. msgbox.html(' <font color="Green">&nbsp;&nbsp;&nbsp;<img src="images/tick.png">Wybrany login jest dostępny.</font>');
  24. }
  25. else
  26. {
  27. $("#user").removeClass("green");
  28. $("#user").addClass("red");
  29. msgbox.html(msg);
  30. }
  31. });
  32. }
  33. });
  34.  
  35. }
  36. else
  37. {
  38. $("#user").addClass("red");
  39. $("#status").html('<font color="#cc0000">Za mało znaków</font>');
  40. }
  41. return false;
  42. });
  43. });
  44. </script>
  45.  
  46.  
  47.  
  48. <script type="text/javascript">
  49. $(document).ready(function()
  50. {
  51. $("#email").change(function()
  52. {
  53. var email = $("#email").val();
  54. var msgbox = $("#status2");
  55.  
  56. if(email.length > 4)
  57. {
  58. $("#status2").html('<img src="loader.gif">&nbsp;Sprawdzanie dostępności.');
  59. $.ajax({
  60. type: "POST",
  61. url: "proc/check_email.php",
  62. data: "email="+ email,
  63. success: function(msg){
  64. $("#status2").ajaxComplete(function(event, request){
  65. if(msg == 'OK')
  66. {
  67. $("#email").removeClass("red");
  68. $("#email").addClass("green");
  69. msgbox.html('');
  70. }
  71. else
  72. {
  73. $("#email").removeClass("green");
  74. $("#email").addClass("red");
  75. msgbox.html(msg);
  76. }
  77. });
  78. }
  79. });
  80.  
  81. }
  82. else
  83. {
  84. $("#email").addClass("red");
  85. $("#status2").html('<font color="#cc0000">Za mało znaków</font>');
  86. }
  87. return false;
  88. });
  89. });
  90. </script>

Plik check_user.php (check_email.php wygląda identycznie, zamiast user jest email):
  1. <?php
  2. // łączenie się z bazą danych
  3. include ('connection.php');
  4. if(isset($_POST['user']))
  5. {
  6. $user = $_POST['user'];
  7. $user = mysql_real_escape_string($user);
  8. $sql = mysql_query("SELECT username FROM users WHERE username='$user'");
  9. if(mysql_num_rows($sql))
  10. {
  11. echo '<span style="color: #cc0000;">&nbsp;&nbsp;&nbsp;<img src="images/cross.png">Login <strong>'.$user.'</strong> jest już zajęty.</span>';
  12. }
  13. else
  14. {
  15. echo 'OK';
  16. }
  17. }
  18. ?>

i formularz:
  1. <form action="register.php" method="post" >
  2. Login: <input type="text" name="user22" id="user" value="" />
  3. <span id="status"> </span>
  4. Email: <input type="text" name="email22" id="email" value="" /><span id="status2"> </span>
  5. <input type="submit" value="Zarejestruj!" id="submit" /></form>


i tutaj moje pytanie: jak zmodyfikować formularz, ewentualnie skrypt, by przycisk 'Zarejestruj!' był możliwy do kliknięcia tylko gdy wskazanego loginu i e-maila nie bedzie w bazie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzychu0808
post 22.06.2013, 18:48:34
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Daj przycisk do jakiegoś div, na starcie wczytaj do div przycisk z opcją disabled. Dodaj sobie 2 zmienne które będą określały poprawne sprawdzenie pola e-mail i nazwa użytkownika. Napisz funkcje która będzie sprawdzała te zmienne czy obydwie są poprawne jeżeli tak to niech wczyta do div przycisk bez opcji disabled. I tą funkcje uruchamiaj po każdym poprawnie sprawdzonym polu.

Tylko nie wiem czy to zadziała bo może się okazać że form nie wykryje przycisku który będzie wczytany przez JS. Ale sprawdź to lub może ktoś już to testował to niech napisze co o tym myśli.

Przycisk z disabled:
  1. <input type="submit" value="Submit" disabled>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:29