Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Weryfikacja formularzy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
magik_xx
Sie ma wszystkim! Mam proźbe, mam skrytp do weryfikacji formularzy, ale nie potrafie go przerobic do własnych potrzeb, mianowicie działa on tylko gdy w formularzu jest jedno pole do wypełnienia, a chcialbym żeby alert odnosił się do kilku pól w formularzu. Oto kod:
  1. <script LANGUAGE="JavaScript">
  2. <!--
  3. function checkform ( form )
  4. {
  5. // ** START **
  6. if (form.email.value == "") {
  7. alert( "Podaj jeszcze swój adres pocztowy." );
  8. form.email.focus();
  9. return false ;
  10. }
  11. // ** END **
  12. return true ;
  13.  
  14. }
  15. //-->
  16. </head>
  17. <form enctype="text/plain" action="mailto:jan.kowalski@mojafirma.pl" method="post"
  18. onsubmit="return checkform(this);">
  19. <BR>
  20. <P>Podaj adres pocztowy</P>
  21. <input type="text" name="email">
  22. <BR>
  23. <P>Podaj imie mamy</P>
  24. <input type="text" name="imie">
  25. <BR>
  26. <INPUT TYPE="submit" VALUE="Wyślij formularz">
  27.  
  28. </form>
  29.  
  30. </body>
  31. </html>


Czyli jeszcze raz chce zmienić tak ten kod żeby nie tylko wymuszał on wpis w pole "email" ale jeszcze w pole "imie".
LBO
inne pola sprawdzasz w taki sam sposob jak pole email (chyba, ze chcesz sie bawic jeszcze w np wyrazenia regularne) - dla imienia to bedzie:
  1. <!--
  2. if (form.imie.value == '') {
  3. alert('pole imie jest puste');
  4. }
  5. -->
magik_xx
No ale jak wstawiam ten kod co podałeś to on sprawdza tylko pole imie, a ja chciałem, żeby sprawdzał i pole email i pole imie. Musi sprawdzac kilka pol formularza.
revyag
Przecież masz napisane że inne pola sprawdzasz w ten sam sposób. Przeczytałeś chociaż odpowiedź na swojego posta, czy od razu bez zastanowienia wkleiłeś kod ?
Jeśli inne pola sprawdza się tak samo to znaczy że musisz dodać do swojego kodu to co LBO napisał.
magik_xx
Szanuje waszą prace i chęć pomocy i nie wklejam ślepo co mi napisał kolega. Do wczesniejszego kodu dodałem ten kod co kolega podal, ale skrypt zamiast sprawdzic calosc sprawdza tylko pole imie. I nie rozumiem dlaczego?
Kod
<script LANGUAGE="JavaScript">
<!--
function checkform ( form )
{
    if (form.email.value == "") {
        alert( "Podaj jeszcze swój adres pocztowy." );
        form.email.focus();
        return false;
    }
    return true;
}
//-->
<!--
if (form.imie.value == '') {
alert('pole imie jest puste');
     }    
                return true;
}
-->
</SCRIPT>
LBO
Cytat
Szanuje waszą prace i chęć pomocy i nie wklejam ślepo co mi napisał kolega.

owszem, wklejasz :-D, ale maszpoprawne podejscie - inne niz znakomitej wiekszosci osob przewijajacych sie przez to forum. Dlatego:
  1. <!--
  2. function checkform ( form )
  3. {
  4. var wiadomosc = '';
  5. if (form.email.value == '') {
  6. wiadomosc += "pole e-mail puste \n";
  7. }
  8. if (form.imie.value == '') {
  9. wiadomosc += "pole imie puste \n";
  10. }
  11. if (wiadomosc != '') {
  12. alert(wiadomosc);
  13. return false;
  14. }
  15. return true ;
  16. }
  17. //-->


oczywiscie, skrypt nie jest idealny i maksymalnie dostosowany dla wygody uzytkownika, ale na poczatek wystarczy... jakby co pytaj sie dalej, cheers
Balon
sam chcialem skorzystac z tego skryptu ale mam problem... bo po wyswietleniu alerta i nacisnieciu ok strona sie przeladowuje... a chce zeby zostala taka jaka byla.. dlaczego tak sie nei dzieje ?
magik_xx
LBO dziękuje pięknie za pomoc :-) Właśnie o to mi chodziło, tylko sam nie potrafiłem tego sklecić. Może i bym skorzystał lepiej z rady wcześniejszego kolegi, ale jeśli się nie zna podstawowych komend w tym języku, to jak ja mam sam coś zmieniać. Próbowałem to wziąć na logike, no ale niestety w tym języku to nie możliwe :-P
Jeszcze raz dzięki. Właściwie można już zamknąć temat bo to co chciałem zostało w nim do końca wytłumaczone. Pozdro!
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.