tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
821
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    AN ALLE bitte POST #6 lesen ! Hab es noch mal viel einfacher dargestellt!!



    Hab es jetzt Stundenlang versucht und finde den Fehler nicht.

    Die Daten werden gesendet aber dann passiert nichts mehr. Bekomme keine Antwort!?

    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
     
    <script type="text/javascript" src="jquery/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="../jquery/jquery.lightbox_me.js"></script>
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
                           
           /* ANFANG -- Klick Event UPDATE */
            $('#update-1-show').css('display','none');  
            $('.update-1').click(function() {
                
                $.getJSON("serverscripts/avz-update-ajax.php", 
                    function(data){
                        
                        var avzID = $("[name=avzID]").val(data.result.avzID);
                        $("#ausgabe").append(avzID);
                        var avzStatus = $("[name=avzStatus]").val(data.result.avzStatus);
                        $("#ausgabe").append(avzStatus);    
                        var avzUrl = $("[name=avzUrl]").val(data.result.avzUrl);
                        $("#ausgabe").append(avzUrl);   
                        var avzUser = $("[name=avzUser]").val(data.result.avzUser);
                        $("#ausgabe").append(avzUser);  
                        var avzPasswort = $("[name=avzPasswort]").val(data.result.avzPasswort);
                        $("#ausgabe").append(avzPasswort);  
                        var avzFollow = $("[name=avzFollow]").val(data.result.avzFollow);
                        $("#ausgabe").append(avzFollow);    
                        var avzArtBearb = $("[name=avzArtBearb]").val(data.result.avzArtBearb);
                        $("#ausgabe").append(avzArtBearb);  
                        var avzEigenerAnkertxt = $("[name=avzEigenerAnkertxt]").val(data.result.avzEigenerAnkertxt);
                        $("#ausgabe").append(avzEigenerAnkertxt);   
                        var avzArtFreisch = $("[name=avzArtFreisch]").val(data.result.avzArtFreisch);
                        $("#ausgabe").append(avzArtFreisch);    
                        var avzArtIndex = $("[name=avzArtIndex]").val(data.result.avzArtIndex);
                        $("#ausgabe").append(avzArtIndex);  
                        var avzAnmerkung = $("[name=avzAnmerkung]").val(data.result.avzAnmerkung);
                        $("#ausgabe").append(avzAnmerkung); 
            
                    }
                )
            
                $('#update-1-show').lightbox_me({
                    centered: true, 
                    overlaySpeed: 'fast',
                    overlayDisappearSpeed: 'fast',
                    overlayCSS: {background: 'black', opacity: .9}, 
                    onLoad: function() { 
                        $('#update-1-show').find('input:first').focus()
                        }
                    });
                return false;
                        
            });
            /* ENDE -- Klick Event UPDATE */
           
    } );
     
     
    $(document).ready(function() {
        $.post("test.php", $("#update1").serialize());
    });
    </script>
     
    <?php 
    $datum = date("Y-m-d"); // datum für ersten AVZ-Eintrag setzen 
    ?>
     
    </head>
    <body>
     
    <button class="update-1">getJSON</button>
     
    <div id="update-1-show"> 
            <form class="lightbox-form" action="" name="update1" id="update1">
                <table align="center">
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AVZ Status:</td>
                        <td><select name="avzStatus" size="1">
                                <option value="" selected="selected" ></option>
                                <option value="NEU">NEU</option>
                                <option value="OK">OK</option>
                                <option value="GESPERRT">GESPERRT</option>
                                <option value="UNWICHTIG">UNWICHTIG</option>
                                <option value="DEFEKT">DEFEKT</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz Url:</td>
                        <td><input type="text" name="avzUrl" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz User:</td>
                        <td><input type="text" name="avzUser" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz Passwort:</td>
                        <td><input type="text" name="avzPasswort" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzFollow:</td>
                        <td><select name="avzFollow" size="1">
                                <option value="" selected="selected" ></option>
                                <option value="Follow" >Follow</option>
                                <option value="Nofollow" >Nofollow</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtBearb:</td>
                        <td><select name="avzArtBearb">
                                <option value="" selected="selected" ></option>
                                <option value="JA" >JA</option>
                                <option value="NEIN" >NEIN</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzEigenerAnkertxt:</td>
                        <td><select name="avzEigenerAnkertxt">
                                <option value=""></option>
                                <option value="JA" >JA</option>
                                <option value="NEIN" >NEIN</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtFreisch:</td>
                        <td><input type="text" name="avzArtFreisch" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtIndex:</td>
                        <td><input type="text" name="avzArtIndex" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right" valign="top">AvzAnmerkung:</td>
                        <td><textarea name="avzAnmerkung" cols="50" rows="5"></textarea></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">&nbsp;</td>
                        <td><input type="submit" class="button" value="Datensatz aktualisieren" /></td>
                    </tr>
                </table>
                <input type="hidden" name="avzUpDate" value="<?php echo $datum; ?>" />
                <input type="hidden" name="MM_update" value="update" />
                <input type="hidden" name="avzID" value="" />
            </form>
            <p>&nbsp;</p>
            <!-- end .update-1-show --></div>
     
    </body>
    </html>

    Kurze Erklärung.
    Mit klick auf den button "getJSON" werden die Daten vom Server geladen und in einer Lightbox wird das Formular geöffnet und befüllt. Dies erledigt die ganze erste
    $(document).ready(function() { }
    Funktioniert auch!

    In der zweiten $(document).ready(function() {} werden die Daten zum Server gesendet.
    lt. Firebug werden Sie auch gesendet.

    ABER es kommt keine Antwort zurück!? Egal was ich versuche. Ob ein einfacher php echo oder nur Text in der aufgerufenen "test.php" steht.

    Habe ich einen Denkfehler ? Sitze jetzt schon 3 Stunden an dem Problem und bin echt für jede Hilfe dankbar.
    Geändert von kramoo (07.01.11 um 20:53 Uhr)
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Woran siehst du denn, dass nichts zurück kommt? Benutzt du ein Programm oder ein Plugin, um den Datenverkehr zu überwachen?
    Gibt folgendes alert irgendwas aus?

    Code javascript:
    1
    2
    3
    4
    5
    
    $(document).ready(function() {
        $.post("test.php", $("#update1").serialize(), function(data) {
            alert(data);
        });
    });
     

  3. #3
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Dein Code zeigt mir die Seite test.php an. Hab da nur Text mit einem einfachen Hallo trin und das wird angezeigt.
    So funktioniert aber das Versenden nicht mehr ! Das Formular sendet keine Daten und dein Code ruft direkt beim ersten Aufruf der Seite die text.php auf.


    Wenn ich folgenden Code benutze funktioniert das Versenden:

    Code :
    1
    2
    3
    4
    5
    6
    
    $(".button").click(function() {
    $.post("serverscripts/avz-update-ajax2.php", $("#update1").serialize(), 
    function(data) {
      alert("Data Loaded: " + data);
    });
    });

    Aber die Rückgabe nicht mehr siehe Screenshots.

    Übertragung:
    http://www.kramoo.de/fehler1Post.gif

    Antwort:
    http://www.kramoo.de/fehler2Antwort.gif


    Ich verstehe es echt nicht ?
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Zitat Zitat von kramoo Beitrag anzeigen
    und dein Code ruft direkt beim ersten Aufruf der Seite die text.php auf.
    Das macht deiner auch. Er steht ja direkt in der ready-Funktion.
    Da ich nicht ganz verstehe, was du überhaupt vor hast, kann ich dir im Moment nicht weiter helfen. Ich kann nur festhalten, dass mehrere ready-Funktionen nichts daran ändern, dass sie sofort beim Laden der Seite ausgeführt werden.
     

  5. #5
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Ja das hatte ich noch falsch mit meinem Code !

    Richtig ist der zweite!
    Also:
    Code :
    1
    2
    3
    4
    5
    6
    
    $(".button").click(function() {
    $.post("serverscripts/avz-update-ajax2.php", $("#update1").serialize(), 
    function(data) {
      alert("Data Loaded: " + data);
    });
    });

    und der wird aufgerufen wenn man das Formular Absendet. Er verschickt auch die Daten wie in Bild http://www.kramoo.de/fehler1Post.gif zu sehen ist aber die Rückgabe liefert eben nichts. Wie in Bild http://www.kramoo.de/fehler2Antwort.gif zu sehen ist.

    Warum bekomme ich keinen Wert zurück?
    Hab es auch schon direkt mit $.ajax({ versucht aber leider das gleiche Ergebnis.
     

  6. #6
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Habe jetzt noch mal zwei einfache neue Dateien angelegt. Mit dem gleichen Fehler.

    Code testneu.php:

    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
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    <script type="text/javascript" src="jquery/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="../jquery/jquery.lightbox_me.js"></script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
     
            $("#formtest").submit(function() {
                $.post("testneu2.php", $("#formtest").serialize(), 
                    function(data) {
                        alert("Data Loaded: " + data);
                    });
            });
                    
        }); 
    </script>
     
    </head>
     
    <body>
     
    <form action="" method="post" enctype="application/x-www-form-urlencoded" id="formtest">
    <input name="name" type="text" />
    <input name="senden" type="submit" />
    </form>
     
    </body>
    </html>

    die testneu2.php Rückgabedatei:

    Code :
    1
    
    Hallo Welt!

    Senden funktioniert aber die Rückgabe ist leider leer so wie in diesen zwei Screenshots.
    http://www.kramoo.de/fehler1Post.gif
    http://www.kramoo.de/fehler2Antwort.gif
    Geändert von kramoo (07.01.11 um 20:55 Uhr)
     

  7. #7
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Die rote Farbe deutet an, dass es einen Fehler gab. Guck mal was der Server für einen Status Code zurück gibt.
     

  8. #8
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    So das Programm ist fertig und läuft jetzt auch!

    Deshalb möchte ich es hier zur Verfügung stellen.

    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Dynamisches Formular in einer Lightbox mit AJAX u. JQuery</title>
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <script type="text/javascript" src="jquery/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="../jquery/jquery.lightbox_me.js"></script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
                           
           /* ANFANG -- Klick Event UPDATE */
            $('#update-1-show').css('display','none');  // blendet das Formular aus
            
            /* zweiter Schritt: Die id wird aus dem Link gewonnen und dem 
            getJson Aufruf hinzugefügt. getJson ruft die Daten von Server ab */
            $('a.update-link').click(function() {
                
                var ID = $(this).attr('id');
                
                $.getJSON("serverscripts/avz-update-anfordern.php?avzID="+ID, 
                    function(data){
                        
                        var avzID = $("[name=avzID]").val(data.result.avzID);
                        $("#ausgabe").append(avzID);
                        var avzStatus = $("[name=avzStatus]").val(data.result.avzStatus);
                        $("#ausgabe").append(avzStatus);    
                        var avzUrl = $("[name=avzUrl]").val(data.result.avzUrl);
                        $("#ausgabe").append(avzUrl);   
                        var avzUser = $("[name=avzUser]").val(data.result.avzUser);
                        $("#ausgabe").append(avzUser);  
                        var avzPasswort = $("[name=avzPasswort]").val(data.result.avzPasswort);
                        $("#ausgabe").append(avzPasswort);  
                        var avzFollow = $("[name=avzFollow]").val(data.result.avzFollow);
                        $("#ausgabe").append(avzFollow);    
                        var avzArtBearb = $("[name=avzArtBearb]").val(data.result.avzArtBearb);
                        $("#ausgabe").append(avzArtBearb);  
                        var avzEigenerAnkertxt = $("[name=avzEigenerAnkertxt]").val(data.result.avzEigenerAnkertxt);
                        $("#ausgabe").append(avzEigenerAnkertxt);   
                        var avzArtFreisch = $("[name=avzArtFreisch]").val(data.result.avzArtFreisch);
                        $("#ausgabe").append(avzArtFreisch);    
                        var avzArtIndex = $("[name=avzArtIndex]").val(data.result.avzArtIndex);
                        $("#ausgabe").append(avzArtIndex);  
                        var avzAnmerkung = $("[name=avzAnmerkung]").val(data.result.avzAnmerkung);
                        $("#ausgabe").append(avzAnmerkung); 
            
                    }
                )
            
                // Schritt drei: Formular wird mittels Lightbox geöffnet 
                $('#update-1-show').lightbox_me({
                    centered: true, 
                    overlaySpeed: 'fast',
                    overlayDisappearSpeed: 'fast',
                    overlayCSS: {background: 'black', opacity: .9}, 
                    onLoad: function() { 
                        $('#update-1-show').find('input:first').focus()
                        }
                    });
                return false;
                    
            });
            /* ENDE -- Klick Event UPDATE */
           
            
            // ANFANG -- Formular Senden
            // Schritt vier: Das Formular wird gesendet und Lightbox gschlossen
            $("#formupdate").submit(function() {
                $.post("serverscripts/avz-update-eintragen.php", $("#formupdate").serialize(),  
                    function(data) {
                        $("#meldung").text(data); // gibt den Response aus
                    }
                );
                $('.lb_overlay').css( {'display': 'none'} );
                $('#update-1-show').css( {'display': 'none'} );
                return false;  // **** WICHTIG sonst funktioniert die Rückgabe nicht ****
                
            });
            // ENDE -- Formular u. Lightbox
     
    } );
    </script>
     
    <?php 
    $datum = date("Y-m-d"); // datum für ersten AVZ-Eintrag setzen 
    ?>
    </head>
     
    <body>
     
    <!-- Erster Schritt: Der Link wird mit $('a.update-link').click(function() abgefangen -->
    <a href="serverscripts/avz-update-anfordern.php" id="225" class="update-link">11111</a>
    <a href="serverscripts/avz-update-anfordern.php" id="1" class="update-link">22222</a>
    <a href="serverscripts/avz-update-anfordern.php" id="2" class="update-link">33333</a>
    <div id="meldung"></div>
     
     
    <div id="update-1-show"> 
            <form id="formupdate" class="lightbox-form" >
                <table align="center">
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AVZ Status:</td>
                        <td><select name="avzStatus" size="1">
                                <option value="" selected="selected" ></option>
                                <option value="NEU">NEU</option>
                                <option value="OK">OK</option>
                                <option value="GESPERRT">GESPERRT</option>
                                <option value="UNWICHTIG">UNWICHTIG</option>
                                <option value="DEFEKT">DEFEKT</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz Url:</td>
                        <td><input type="text" name="avzUrl" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz User:</td>
                        <td><input type="text" name="avzUser" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">Avz Passwort:</td>
                        <td><input type="text" name="avzPasswort" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzFollow:</td>
                        <td><select name="avzFollow" size="1">
                                <option value="" selected="selected" ></option>
                                <option value="Follow" >Follow</option>
                                <option value="Nofollow" >Nofollow</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtBearb:</td>
                        <td><select name="avzArtBearb">
                                <option value="" selected="selected" ></option>
                                <option value="JA" >JA</option>
                                <option value="NEIN" >NEIN</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzEigenerAnkertxt:</td>
                        <td><select name="avzEigenerAnkertxt">
                                <option value=""></option>
                                <option value="JA" >JA</option>
                                <option value="NEIN" >NEIN</option>
                            </select></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtFreisch:</td>
                        <td><input type="text" name="avzArtFreisch" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">AvzArtIndex:</td>
                        <td><input type="text" name="avzArtIndex" value="" size="32" /></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right" valign="top">AvzAnmerkung:</td>
                        <td><textarea name="avzAnmerkung" cols="50" rows="5"></textarea></td>
                    </tr>
                    <tr valign="baseline">
                        <td nowrap="nowrap" align="right">&nbsp;</td>
                        <td><input type="submit" value="Datensatz aktualisieren" id="buttonupdate"/></td>
                    </tr>
                </table>
                <input type="hidden" name="avzUpDate" value="<?php echo $datum; ?>" />
                <input type="hidden" name="MM_update" value="update" />
                <input type="hidden" name="avzID" value="" />
            </form>
        <p>&nbsp;</p>
    <!-- end .update-1-show --></div>
            
     
    </body>
    </html>

    Vielleicht könnt Ihr mal schauen ob ich was besser machen kann!?
    Was mich noch sehr stört ist das ich mit

    Code :
    1
    2
    
    var avzID = $("[name=avzID]").val(data.result.avzID);
    $("#ausgabe").append(avzID);

    alle Formularfelder einzeln befüllen muss. Wird wohl nicht anders gehen oder?
     

  9. #9
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Steck die ganzen Namen in ein Array. So in etwa

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    var names = ['avzID', 'avzStatus', 'avzUser'];//Hier noch mehr reinstecken
     
    $.getJSON("serverscripts/avz-update-anfordern.php?avzID="+ID, 
        function(data){
            var ausgabe = $("#ausgabe");
            
            for(var i=0; i<names.length; i++) {
                ausgabe.append(
                    $("[name=" + names[i] + "]").val(data.result[names[i]])
                );
            }
        }
    )
     

  10. #10
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Ja das sieht schon viel besser aus! Danke

    Wäre es nicht noch möglich

    var names = ['avzID', 'avzStatus', 'avzUser'];//Hier noch mehr reinstecken

    die automatisch zu generieren zu lassen?
     

  11. #11
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Hast du noch eine Idee wie ich folgendes Problem lösen könnte?

    Mit dem Code oben habe ich das Problem dass darunter eine Tabelle ist mit den Links mit der ID wie oben. Es werden aber nur die ersten 10 Einträge der Tabelle angezeigt die restlichen kann man mit pagination also 1,2,3 oder mittels trop down zeige die ersten 100 anzeigen lassen. Wird mit dataTable gemacht. DataTable lädt auch die Ganze Tabelle im Client. Im Quelltext sehe ich also die ganze Tabelle.

    Das ID auslesen funktioniert aber nur bei den ersten 10 Einträgen. Wenn ich auf z.B die zweite Seite gehe funktioniert das ID auslesen mittels " var ID = $(this).attr('id'); " nicht mehr obwohl die ID vorhanden ist.

    Weiß nicht wie ich das Problem lösen kann ?

    Danke
     

  12. #12
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Zur ersten Frage. Du kannst einfach alle Form-Element selektieren und setzt deren Wert sofern in deiner json Antwort einer vor kommt.

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    $.getJSON("serverscripts/avz-update-anfordern.php?avzID="+ID, 
        function(data){
            var ausgabe = $("#ausgabe");
            
            $(":input").each(function(element) {
                if(element.name && data.result[element.name]) {
                    ausgabe.append(
                        element.value = data.result[element.name]
                    );
                }
            });
        }
    );

    Zur zweiten Frage: Vielleicht hilft dir "live()" weiter, sofern du die Element dynamisch nachlädst.

    Anstatt das
    Code javascript:
    1
    
    $('a.update-link').click(function() {});

    lieber folgendes
    Code javascript:
    1
    
    $('a.update-link').live('click', function() {});
     

  13. #13
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Danke mit deiner Hilfe habe ich es geschafft!

    Mit getJSON habe ich die Datan so bekommen:

    Code :
    1
    2
    3
    
    {"result": 
    {"avzID":"66","avzUrl":"http://www.crasch.de","avzUser":"keine registrierung nötig","avzPasswort":"","avzUpDate":"2011-01-06","avzFollow":"","avzArtBearb":"","avzEigenerAnkertxt":"","avzArtFreisch":"","avzArtIndex":"","avzAnmerkung":"","avzStatus":"DEFEKT"
    }}

    und so sieht jetzt mein Umsetzung aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    $.getJSON("../serverscripts/avz-update-anfordern.php?avzID="+ID,
        function(data) {
            var ausgabe = $("#ausgabe");
            $.each( data.result, function(key, value) {
                ausgabe.append( $("[name=" + key + "]").val(value) );
            });
        }
    );

    Ist also um einiges schlanker und dynamisch !
    Danke
     

Ähnliche Themen

  1. Jquery post() Problem
    Von mogmog im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 29.10.10, 15:30
  2. jQuery sendet kein Post/keine Daten
    Von ChrisMunich im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 11.07.10, 20:11
  3. jQuery und Post
    Von tsluga im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 12.03.10, 13:34
  4. jQuery: $.post Rückgabewert als Rückgabewert der Funktion - geht das?
    Von Kryptaesthesie im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 15.01.09, 07:40
  5. Antworten: 2
    Letzter Beitrag: 24.11.05, 15:08