Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Wysyłanie i walidacja
Forum PHP.pl > Forum > Przedszkole
bubus_s
Witam.

Mam skrypt który sprawdza czy pola zostały odpowiednio wypełnione.
Jeżeli tak gdy nacisnę przycisk Wyślij. Wyświetla komunikat.

Niestety żadna akcja się nie dzieję.

Natomiast Jeżeli usunę ten skrypt który wyświetla komunikat wszystko działa.

Jednak chce aby wyświetlało komunikat.

Jakieś rady nie mam pomysłu jak to zrobić.

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $.validator.setDefaults({
  3. calback: function() {
  4. alert("Wysłano! cos tam cos.");
  5. }
  6. });
  7.  
  8.  
  9.  
  10.  
  11. </script>
[JAVASCRIPT] pobierz, plaintext


  1. <form name="subscribeform" class="cmxform" id="rejestracja2" method="post" action="http://myweb.pl">

  1. <input type="submit" style="margin: 0px; padding: 0px;" value="Wyslij" name="addService" class="button_vlong button_vlong3 right" />
askone
Cytat(bubus_s @ 23.08.2010, 10:22:34 ) *
Witam.

Mam skrypt który sprawdza czy pola zostały odpowiednio wypełnione.


Jaki to skrypt? Podaj link - chyba że to Twoje rozwiązanie autorskie, jednak wtedy pewni byś się nie pytał smile.gif

Pozdrawiam
Ramzaa
Ja proponuję skorzystać z pluginu validate jquery, jest naprawdę prosty w obsłudze i dobry smile.gif
http://docs.jquery.com/Plugins/Validation
bubus_s
Już na forum pokazywałem ten skrypt.

Znajduje się on tutaj.
http://forum.php.pl/index.php?showtopic=157239&hl=
Chodzi o tą walidację.
Ramzaa
Więc w czym problem?
bubus_s
Problem jest w tym:

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $.validator.setDefaults({
  3.  
  4. calback: function() {
  5.  
  6. alert("Wysłano! cos tam cos.");
  7.  
  8. }
  9.  
  10. });
  11.  
  12. </script>
[JAVASCRIPT] pobierz, plaintext


Sprawdza to czy pola zostały wypełnione.
Jeżeli tak to wywala komunikat. Tak jak ja chce.

Lecz nie wykonuję akcji formularza czyli nie wysyła i nie zapisuję do bazy.
Ramzaa
Gratulacje w takim razie... Może byś tak kodem poczęstował?
bubus_s
Cytat(bubus_s @ 23.08.2010, 10:22:34 ) *
Witam.

Mam skrypt który sprawdza czy pola zostały odpowiednio wypełnione.
Jeżeli tak gdy nacisnę przycisk Wyślij. Wyświetla komunikat.

Niestety żadna akcja się nie dzieję.

Natomiast Jeżeli usunę ten skrypt który wyświetla komunikat wszystko działa.

Jednak chce aby wyświetlało komunikat.

Jakieś rady nie mam pomysłu jak to zrobić.

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $.validator.setDefaults({
  3. calback: function() {
  4. alert("Wysłano! cos tam cos.");
  5. }
  6. });
  7.  
  8.  
  9.  
  10.  
  11. </script>
[JAVASCRIPT] pobierz, plaintext


  1. <form name="subscribeform" class="cmxform" id="rejestracja2" method="post" action="http://myweb.pl">

  1. <input type="submit" style="margin: 0px; padding: 0px;" value="Wyslij" name="addService" class="button_vlong button_vlong3 right" />


A to co jest:?

No i do tego formularz normalny.

Coś więcej potrzeba?
Ramzaa
Cytat(bubus_s @ 23.08.2010, 10:36:11 ) *
Lecz nie wykonuję akcji formularza czyli nie wysyła i nie zapisuję do bazy.


No a jak uważasz? smile.gif
askone
Hej

Sprawdziłem na stronie z dokumentacją skryptu i co ciekawe nie znalazłem tam informacji nt opcji "callback"... Z tego co na szybko przeczytałem to aby po poprawnym przesłaniu formularza do skryptu został wyświetlony komunikat należy przypisać odpowiednią funkcję do "submitHandler" - jest tam nawet przykład winksmiley.jpg

Pozdrawiam
bubus_s
Znalazłem takie coś:

[JAVASCRIPT] pobierz, plaintext
  1. $("#myform").validate({
  2. submitHandler: function(form) {
  3. // some other code
  4. // maybe disabling submit button
  5. // then:
  6. $(form).submit();
  7. }
  8. });
[JAVASCRIPT] pobierz, plaintext


Oraz takie:
[JAVASCRIPT] pobierz, plaintext
  1. $("#myform").validate({
  2. submitHandler: function(form) {
  3. form.submit();
  4. }
  5. });
[JAVASCRIPT] pobierz, plaintext



I tak nie rozumiem tego.
Ale postaram się coś z tego wykombinować.
Ramzaa
Łap: http://ownpage.pl/jquery/sprawdzanie-pol-f...comment-page-1/
Wszystko opisane krok po kroku.
bubus_s
Dzięki.
Ale ja właśnie wcześniej z tego korzystałem;]
Wszystko działa.
Tylko.
Mam Zrobioną walidację.
Jeżeli wypełnie poprawnie formularz
Wyświetla
[JAVASCRIPT] pobierz, plaintext
  1. $.validator.setDefaults({
  2. calback: function() {
  3. alert("Wysłano! Sprawdź swoją skrzynkę e-mailową - znajdziesz tam nową wiadomość, w której znajdziesz link; musisz go kliknąć, aby potwierdzić chęć otrzymywania artykułu ode mnie.\n\nUwaga! E-maila z prośbą o potwierdzenie chęci otrzymania artykułu najprawdopodobniej trafi do SPAMu.");
  4. }
  5. });
[JAVASCRIPT] pobierz, plaintext


Niestety przez to nie chce się wykonać akcja z formularza czyli.

  1. <form name="subscribeform" class="cmxform" id="rejestracja2" method="post" action="Myweb.pl" >
  2. // Tutaj Formularz
  3. // Tutaj Formularz
  4. // Tutaj Formularz
  5. <input type="submit" style="margin: 0px; padding: 0px;" value="wyslij" name="addService" class="button_vlong button_vlong3 right" />
askone
Na stronie, która podał Ramzaa również nie ma słowa o opcji callback lub calback - jak Ty piszesz...
bubus_s
No tak.
Troszkę się pomyliłem ale mimo to
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $.validator.setDefaults({
  3. submitHandler: function() {
  4. alert("Wysłano! .");
  5. }
  6. });
  7.  
[JAVASCRIPT] pobierz, plaintext


Komunikat wyskakuję ale nie zapisuję mnie do listy z tego formularza.

Czyli jakby ten skrypt blokował.
askone
Spróbuj tak:
Index html - modyfikacja
Kod
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Sprzawdzanie pól formularza za pomocą jQuery</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
        <script type="text/javascript" src="js/rejestracja.js" charset="UTF-8"></script>
        <link rel="stylesheet" href="styles.css" />

/* To należy usunąć... */
<script type="text/javascript">
$.validator.setDefaults({
    submitHandler: function() {
        alert("Wysłano! Sprawdź swoją skrzynkę e-mailową - znajdziesz tam nową wiadomość, w której znajdziesz link; musisz go kliknąć, aby potwierdzić chęć otrzymywania artykułu ode mnie.\n\nUwaga! E-maila z prośbą o potwierdzenie chęci otrzymania artykułu najprawdopodobniej trafi do SPAMu.");
    }
});
    
$.metadata.setType("attr", "validate");
</script>
/* do tego miejsca */
</head>


rejestracja.js - modyfikacja
Kod
$(document).ready(function(){
    $("#rejestracja").validate({  
        rules: {
          
            name: {
                required: true,
                minlength: 1
                },
          
              
            
        email: {
                required: true,
                email: true
                }
            },
        messages: {
            name:{
                required: "Pole hasło nie może być puste",
                minlength: "Minimalna długość imienia to 2 znaki"
            },
            
            email:{
                required: "Wprowadź adres e-mail",
                email: "Wprowadź poprawny adres e-mail"
            }
        },
    success: function(label) {
            label.html("&nbsp;").addClass("sprawdzony");
    }
    submitHandler: function(form) {
                   form.submit();
                     alert("Wysłano! Sprawdź swoją skrzynkę e-mailową - znajdziesz tam nową wiadomość, w której znajdziesz link; musisz go kliknąć, aby potwierdzić chęć otrzymywania artykułu ode mnie.\n\nUwaga! E-maila z prośbą o potwierdzenie chęci otrzymania artykułu najprawdopodobniej trafi do SPAMu.");
        }    
  });
});


Nie sprawdzałem ale powinno działać...
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.