Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP] Modyfikacja formularza pod skrypt
Forum PHP.pl > Forum > Przedszkole
berero
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?
krzychu0808
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>
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.