tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von para_noid
  • 1 Beitrag von para_noid
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
491
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Hallo, leider bin ich noch nicht so firm in Sachen JavaScript und jQuery, versuche mich jedoch immer wieder mal an den ein oder anderen Sachen.

    Ich möchte ein Formular absenden welches ich zuvor überprüft habe. Das Überprüfen funktioniert einwandfrei. Das Absenden leider nicht.

    Hier ersteinmal der Validierungscode:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    
    <script id="demo" type="text/javascript">
    $(document).ready(function() {
        // validate signup form on keyup and submit
        var validator = $("#signupform").validate({
            rules: {
                lname: "required",
                fname: "required",
                street: "required",
                hnr: "required",
                zipcode: {
                    required: true,
                    minlength: 5
                },
                city: "required",
                phone: "required",
                email: {
                    required: true,
                    email: true,
                    remote: "common/emailcheck.php"
                },
     
                password: {
                    required: true,
                    minlength: 5
                },
                password_confirm: {
                    required: true,
                    minlength: 5,
                    equalTo: "#password"
                },
                terms: "required"
            },
            
            messages: {
                fname: '<img src="img/icons/err.jpg"> ',
                lname: '<img src="img/icons/err.jpg"> ',
                street: '<img src="img/icons/err.jpg"> ',
                hnr: '<img src="img/icons/err.jpg"> ',
                zipcode: {
                    required: '<img src="img/icons/err.jpg"> ',
                    rangelength: jQuery.format("Min. {0} Zeichen")
                },
                city: '<img src="img/icons/err.jpg"> ',
                phone:'<img src="img/icons/err.jpg"> ',
                
                password: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: jQuery.format("Min. {0} Zeichen")
                },
                password_confirm: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: jQuery.format("Min. {0} Zeichen"),
                    equalTo: "Passwörter nicht identisch."
                },
                email: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: "Falsche E-Mail.",
                    remote: jQuery.format("{0} Wird bereits benutzt.")
                },
                terms: " "
            },
            // the errorPlacement has to take the table layout into account
            errorPlacement: function(error, element) {
                if ( element.is(":radio") )
                    error.appendTo( element.parent().next().next() );
                else if ( element.is(":checkbox") )
                    error.appendTo ( element.next() );
                else
                    error.appendTo( element.parent().next() );
            },
            
            submitHandler: function() {
     
                      alert("Super");
                
            },
            
            success: function(label) {
                
                label.html("&nbsp;").addClass("checked");
            }
        });
        
     
     
    });
    </script>

    Nachdem ich die jQuery Doku etwas durchstöbert habe bin ich nun soweit, dass ich weiss das ich ca. folgenden Code einbinden muss um das Formular abzusenden:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
                  var data = 'fname=' + fname.val() ;
                
                  $.ajax({
                    url: "saveData.php",    
                    type: "POST",       
                    data: data,     
                
                    success: function (reqCode) {               
                
                        if (reqCode==1) {                   
                
                            $('.myForm').fadeOut('slow');                   
                             
                            $('.done').fadeIn('slow');
                
                        } else{ 
                             alert('Fehler beim Abschicken des Formulares.');
                
                        }               
                    }       
                });
            
                return false;


    Ich dachte das der Code nun die Stelle

    Code :
    1
    
    alert("Super");

    ersetzt.

    Fehlanzeige Da tut sich nichts. Hat jemand Lust und Zeit mir auf die Sprünge zu helfen und mir kurz erklären was ich falsch mache?

    Wäre super

    Gruß
     

  2. #2
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    So ich habs nun hinbekommen.

    Leider muss ich immer 2mal auf den Submitbutton Klicken, damit das komplette ausgefüllte Formular abgesendet wird. Woran Liegt das?


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    
    <script id="demo" type="text/javascript">
    $(document).ready(function() {
     
        var validator = $("#signupform").validate({
            rules: {
                lname: "required",
                fname: "required",
                street: "required",
                hnr: "required",
                zipcode: {
                    required: true,
                    minlength: 5
                },
                city: "required",
                phone: "required",
                email: {
                    required: true,
                    email: true,
                    remote: "common/emailcheck.php"
                },
     
                password: {
                    required: true,
                    minlength: 5
                },
                password_confirm: {
                    required: true,
                    minlength: 5,
                    equalTo: "#password"
                },
                terms: "required"
            },
            
            messages: {
                fname: '<img src="img/icons/err.jpg"> ',
                lname: '<img src="img/icons/err.jpg"> ',
                street: '<img src="img/icons/err.jpg"> ',
                hnr: '<img src="img/icons/err.jpg"> ',
                zipcode: {
                    required: '<img src="img/icons/err.jpg"> ',
                    rangelength: jQuery.format("Min. {0} Zeichen")
                },
                city: '<img src="img/icons/err.jpg"> ',
                phone:'<img src="img/icons/err.jpg"> ',
                
                password: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: jQuery.format("Min. {0} Zeichen")
                },
                password_confirm: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: jQuery.format("Min. {0} Zeichen"),
                    equalTo: "Passwörter nicht identisch."
                },
                email: {
                    required: '<img src="img/icons/err.jpg"> ',
                    minlength: "Falsche E-Mail.",
                    remote: jQuery.format("{0} Wird bereits benutzt.")
                },
                terms: " "
            },
     
            errorPlacement: function(error, element) {
                if ( element.is(":radio") )
                    error.appendTo( element.parent().next().next() );
                else if ( element.is(":checkbox") )
                    error.appendTo ( element.next() );
                else
                    error.appendTo( element.parent().next() );
            },
     
            submitHandler: function() {
                
            $("form#signupform").submit(function() {        
             var dataStr = $("#signupform").serialize();
              $.ajax({
               type: "POST",
               url: "test.php",
               data: dataStr,
               success: function(del){
                 $('#basket').fadeout("slow");
                 $('#done').show();
                }
               });
              return false;
             }); 
                
            },
     
            success: function(label) {
     
                label.html("&nbsp;").addClass("checked");
            }
        });
        
     
     
    });
    </script>
     

  3. #3
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    Die Beschreibung des submitHandlers lautet:

    Callback for handling the actual submit when the form is valid.
    Du hast innerhalb des submitHandlers wiederum einen Eventhandler für submit definiert. Probier es mal ohne den
    Code :
    1
    
    $("form#signupform").submit(function() {
    -Bereich.
    creativeheadz bedankt sich. 
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  4. #4
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Super! Vielen Dank für die Schnelle Hilfe Es Klappt!

    Noch eine Kurze Frage:

    Derzeit nutze
    Code :
    1
    2
    
    $('#basket').slideUp(1000);
    $('#done').slideDown(1000);

    slideUp #basket auszublenden und slideDown um #done einzublenden.

    Diese Beiden Effekte werden derzeit gleichzeitig ausgeführt. Das sieht etwas unschön bzw. wild aus.

    Ist es möglich erst den Slidedown auszuführen wenn slideUp erledigt ist?

    Grüße
    Geändert von sheel (03.11.11 um 08:57 Uhr) Grund: Doppel
     

  5. #5
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    Das müsste eigentlich parallel als Event funktionieren...

    Code :
    1
    2
    3
    
    $('#basket').slideUp(1000, function() {
      $('#done').slideDown(1000);
    }
    Geändert von para_noid (02.11.11 um 22:14 Uhr)
    creativeheadz bedankt sich. 
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  6. #6
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Danke, da fehlte aber glaub ich noch ne " ) "

    $('#basket').slideUp(1000, function() {
    $('#done').slideDown(1000);
    })
    Super Danke nochmal!
     

  7. #7
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    ääh ja und das Semikolon am Ende sorry
     
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  8. #8
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    jo stimmt habs noch entdeckt
     

Ähnliche Themen

  1. jQuery Dialog und Ajax Submit
    Von Superfreak007 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 13.09.11, 16:18
  2. Antworten: 9
    Letzter Beitrag: 14.01.11, 14:08
  3. Problem mit form und submit
    Von Inspector im Forum HTML & XHTML
    Antworten: 21
    Letzter Beitrag: 30.01.08, 10:15
  4. JSP - Submit Form
    Von lernen.2007 im Forum Java
    Antworten: 0
    Letzter Beitrag: 17.05.07, 22:14
  5. Form link als Submit
    Von Germanterminaotr im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 30.12.05, 02:25