Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja sprawdzająca formularz
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
di@blo
Mam taki skrypt

  1. <script LANGUAGE="JavaScript">
  2. <!--
  3.  
  4. function check_form (form){
  5.  
  6. if (form.login.value == "")
  7. {
  8. alert("Nie podałe&para; Loginu");
  9. form.login.focus();
  10. return false;
  11. }
  12.  
  13. if (form.haslo.value == "")
  14. {
  15. alert("Nie podałe&para; hasła");
  16. form.haslo.focus();
  17. return false;
  18. }
  19.  
  20. if (form.login.value.length < "5")
  21. {
  22. alert("Login musi mieć przynajmniej 5 znaków");
  23. form.login.focus();
  24. return false;
  25. }
  26.  
  27. if (form.haslo.value < "5")
  28. {
  29. alert("Hasło musi mieć przynajmniej 5 znaków");
  30. form.haslo.focus();
  31. return false;
  32. }
  33.  
  34.  
  35. return true;
  36. }
  37. //-->
  38.  
  39. <form action="rejestracja.php3" method="post" onsubmit="return check_form(this);">
  40.  
  41. Login:<br>
  42. <input type="text" name="login" size="20" maxlength="20" class="wpisz"><br>
  43.  
  44. Hasło:<br>
  45. <input type="password" name="haslo" size="22" maxlength="20" class="wpisz">
  46.  
  47. <br><br>
  48. <input type="submit" value="Rejestruj">
  49. <input type="reset" value="Wyczy&para;ć">
  50.  
  51. </form>



Formularz jest przed wysłaniem i wszystko ok ale chciałbym zeby zamiast alertu obok inputa pojawił mi sie tekst w zależności jaki to był bład.

I drugie pytanie jak sprawdzić czy wpisany tekst do inputa zawiera inne znaki niż:
[B]a-z, A-Z, 0-9, '-', '_' ?

Z góry dzieki za pomoc
dasko
Robisz sobie spana jakiegoś np. o atrybucie 'id' rownym 'span'.
Kod
<script>
var span = document.getElementById('span');
span.innerText = 'takst ktory chcesz wysietlic';
</script>


A co do drugiego pytania to:
Kod
var exp = /^[^\w-]+$/;
if(exp.test(document.forms[0].jakiespole.value)) {
    alert('Wprowadzone przez ciebie dane muszą zawierać litery, cyfry, - lub _');
}
</script>

smile.gif
di@blo
Zrobiłem sobie tak

<script>

if (form.login.value == "" || exp.test(form.login.value))
{ login.style.height = 'auto'}

</script>

i wstawiłem se diva

  1. <div id="login" style="align: center; color: red ; height: 1px; overflow: hidden;">BَD</div>


Ale jak schować tekst po ponownym submicie jeśli te pola bedą poprawne?

Dzieki za odpowiedzi
dasko
Kod
<script>
login.innerText = '';
</script>

biggrin.gif Albo w ogole usuwasz węzeł tekstowy:
Kod
<script>
login.removeChild(login.lastChild);

smile.gif
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.