JavaScript jQuery UI verschickte keine Daten

Eagle-PsyX-

Commander
Registriert
Juni 2006
Beiträge
2.198
Hi,

ich habe eine Sortierbare Tabelle mir zusammengeklebt, die beim ändern der Reihenfolge über Ajax die neue Reihenfolge an ein Skript weiterreichen soll.
Firebug vermeldet keinen Fehler und die Ajax-Verbindung wird aufgebaut.

Jedoch kann ich weder über $_GET, $_POST noch sonstwie Daten im Skript erkennen, bzw. abfangen... Kann jemand einen Fehler entdecken?

Online Demo:
http://www.online-arts.de/test/test.php

Die $_POST-Werte sollten hier landen:
http://www.online-arts.de/test/test.log

Ergänzung:
So funktioniert jetzt. Funktionsfähiges Skript siehen unten:

save.php
PHP:
require_once('class.log.inc');

$log = new Log;
$log->Dir = '';
$log->File = "test.log";
$log->Time = gmmktime();

$log->Insert(implode(',',$_POST['test']));
Und der jQuery Skript:
Code:
$(function() {
    $('.sort').sortable({ 
        cursor:'move', 
        axis: 'y', 
        update: function(e, ui) { 
            href = "save.php"; 
            $(this).sortable("refresh"); 
            sorted = $(this).sortable("serialize", 'id'); 
            $.ajax({
                type:'POST', 
                url:href, 
                data: sorted
            }); 
        } 
    });
});
Markup:
HTML:
<table id="myTable"> 
<thead> 
<tr><th>ID</th><th>Name</th><th>Details</th></tr> 
</thead> 
<tbody class="sort"> 
<tr id="test_1"><td>1</td><td>Name1</td><td>Details1</td></tr> 
<tr id="test_2"><td>2</td><td>Name1</td><td>Details2</td></tr> 
<tr id="test_3"><td>3</td><td>Name1</td><td>Details3</td></tr> 
<tr id="test_4"><td>4</td><td>Name1</td><td>Details4</td></tr> 
</tbody> 
<table>
 
Zuletzt bearbeitet:
Hallo,
wenn ich die Tabelle sortiere werden auf jedenfall Daten per POST an die save.php gesendet, laut der FF Webkonsole. Hast du mal im FireBug geschaut, welche Daten genau verschickt werden?
 
mach mal vor sorted und href "var" schreiben. undefinierte variablen können u.a. dadurch auch kommen (jedenfalls mein ich mal darauf gestoßen zu sein)
 
Versuche mal das hier, so klappt es auf jeden Fall bei mir:

<script type="text/javascript">
$(document).ready(function(){
$(function() {
$("#menu_sort ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
$.post("save.php", order, function(theResponse){
$("#out").html(theResponse);
});
}
});
});

});
</script>

<div id="out"></div>
<div id="menu_sort">
<ul style="padding:0; margin:0;">
<li id="recordsArray_1">Punkt 1</li>
<li id="recordsArray_2">Punkt 2</li>
</ul>
</div>

Siehe: http://www.webresourcesdepot.com/dynamic-dragn-drop-with-jquery-and-php/
 
Das Problem scheint an "serialize" zu liegen..?
Wenn ich stattdessen "toArray" benutze, kriege ich die Werte in der richtigen Reihenfolge mit einem Komma getrennt aufgelistet.
An das Skript wird dennoch nur "undefined" weitergereicht O.o

@zYannickz
Ich probiere es mal aus.

Ergänzung:
Danke, scheint zu klappen! :)
http://www.online-arts.de/test/test.php

Ergänzung 2#:
Hab den Fehler gefunden. Jetzt klappt auch der erste Skript.
Die IDs in der Zeilen MÜSSEN id="x_1", "x_2" aufgebaut sein und NICHT nur aus Zahlen.
Dann kann man das über $_POST['x'] abfangen.... Danke!
 
Zuletzt bearbeitet:
Zurück
Oben