große tabelle, arrays merken - brauche ich cookies?



  • Hallo,

    es ist doch aber klar, dass wenn du die Seite neuaufrufst sämtliche Änderungen zurückgesetzt werden! Javascript-Variablen bleiben nicht erhalten. Du könntest deren Inhalte in Cookies speichern oder eben doch den submit verwenden und die Änderungen beim "Ausführen des Filters" speichern...

    ODER dich mit AJAX beschäftigen!

    LG, Micha



  • Das Attribut action= gibt es nicht für <table>.
    Jedes Input muß eine eigene ID haben.

    Ich würde den Test ins JS verlegen, abhängig vom Ergebnis dann
    alles setzen oder halt nicht.

    Wenn die Inputs auch noch einen name= habe, können die Werte
    beim Neu-Senden der Seite wieder eingefügt werden..

    Mir scheint der komplette Code enthält noch einiges an Fehlern.
    Validiere mal, am Besten wäre ein Link zu einer Demo.

    Noch eins: Arrays gibt es in HTML nicht.



  • Scheppertreiber schrieb:

    Das Attribut action= gibt es nicht für <table>.

    tippfehler, ich meinte natürlich <form>

    Scheppertreiber schrieb:

    Jedes Input muß eine eigene ID haben.

    die textfelder haben ja eine eigene id. wieso muss die checkbox auch eine haben? reicht da nicht der name?

    Scheppertreiber schrieb:

    Ich würde den Test ins JS verlegen, abhängig vom Ergebnis dann
    alles setzen oder halt nicht.

    der test der textfelder ist ja bereits in js realisiert und funktioniert auch. darum gehts ja garnicht.

    Scheppertreiber schrieb:

    Wenn die Inputs auch noch einen name= habe, können die Werte
    beim Neu-Senden der Seite wieder eingefügt werden..

    meinst du über ein submit der form? das mache ich ja auch, nur geht es mir um ein aktion, die noch VOR dem submit passieren soll.

    Scheppertreiber schrieb:

    Mir scheint der komplette Code enthält noch einiges an Fehlern.
    Validiere mal, am Besten wäre ein Link zu einer Demo.

    sorry, is im intranet. habe aber auch schon validiert, keine fehler.

    Scheppertreiber schrieb:

    Noch eins: Arrays gibt es in HTML nicht.

    ich meinte id="irgendwas['.$i.']", wobei $i für jede zeile einzigartig ist. dadurch werden mir eben auch für jede zeile einzigartige id's erzeugt. für mich ist das wie ein array.. variable mit index halt:)

    --
    @RandomAccess85
    schade, dass die variablen verloren gehen.. ich probiere gerade das mit den cookies. habe leider probleme ein js-array in ein cookie zu schreiben.
    ich habe es so probiert:

    var rows = new Array();
    

    jeder erfolgreicher test speichert die zeile in das array:

    var hRow = hiddenRows.push(el);
    

    .. das funktioniert laut debug.

    eine einfache variabel in ein cookie schreiben funktioniert. nur wie mache ich das mit einem array?
    zum lesen schreiben benutze ich die cookie funktionen von der w3c-seite

    und hey.. danke für eure hilfe:-)



  • Mal 'ne blöde Frage: Was soll eigentlich dabei herauskommen ?

    Wenn es nur um die Validierung des Inhalts jedes Inputs geht und Du dann
    automatisch die Ankreuzer setzt ist ein Array eh nicht notwendig. Vor dem
    submit kannst Du ja abfragen ob alle gesetzt sind.



  • Scheppertreiber schrieb:

    Mal 'ne blöde Frage: Was soll eigentlich dabei herauskommen ?

    Wenn es nur um die Validierung des Inhalts jedes Inputs geht und Du dann
    automatisch die Ankreuzer setzt ist ein Array eh nicht notwendig. Vor dem
    submit kannst Du ja abfragen ob alle gesetzt sind.

    der ablauf sieht so aus:

    - aufrufen von index.php erzeugt eine liste aller "artikel"
    - wenn der filter aufgerufen wird, so wird die liste der "artikel" eben kürzer
    - in jeder dieser ansichten können daten verändert bzw. per checkbox markiert werden
    - nachdem durch die filter gesurft wurde und überall was angeklict wurde, soll die form bestätigt werden und alle ausgewählten artikel sollen in einer übersicht angezeigt werden.

    im prinzip ist es sowas wie ein shop-system. nur das bei mir nicht eingekauft wird:)



  • Hallo,

    ich bleib dabei: Cookies oder AJAX (dynamische Inhalte). Vielleicht geht es auch irgendwie über Sessions (PHP).

    LG, Micha



  • Ach so ...

    Sowas habe ich auch 🙂

    Ich habe dazu eine Tabelle, der tbody ist dazu scrollbar. in thead jeweils
    Button in den Spaltenköpfen (lösen die Suche und Sortierung nach der Spalte aus)
    und darunter die Suchbegriffe zum "Filtern". Die tr haben je eine id um diese,
    wenn sie angeklickt werden, als aktiv zu kennzeichnen. So ein Häkchen habe ich
    bei einem Job auch, an und abklickbar.

    Es ist ein Dokumentenarchiv, mit klick auf eine Zeile wird das zugehörige PDF
    geladen und angezeigt. Das An- und Wegklicken sende ich per HTTPRRequest ans
    Programm damit es das in eine db (sqlite) einträgt. Da jede Zeile eine id hat
    (dazu den int primary key verwendet) kann man das schön einfach wiederfinden.

    Gib der Zeile einfach einen onClick-Handler der die x setzt. Per JS und CSS
    (zB mit display:none) könntest Du auch einzelne Zeilen komplett ausblenden.

    Erst wenn alles fertig ist, absenden. Den Rest dann auf ... überprüfen und
    verarbeiten.



  • so eine ajax-variante hatte ich auch schonmal implementiert. leider war das performance-technisch arg unbefriedigend. daher suche ich lieber nach was anderem, oder ist deine js/css geschichte auch bei >2000 zeilen noch schön schnell?

    ich muss da nochmal ne nacht drüber schlafen:)
    schöne grüße



  • Du brauchst doch nur per JS CSS-Attribute zu setzen. Du hast keine 2000 Zeilen
    auf dem Bildschirm.

    Ehrlich gesagt, 2000 Zeilen sind keine gute Lösung - eher ein konzeptioneller Fehler 🙂



  • naja, dafür hab ich den filter eingebaut. die zeilen werden doch auch "geladen", selbst wenn ich display:none mache oder? hmm. das muss ich mir nochmal genauer anschauen.. klingt interessant.

    schöne grüße


Anmelden zum Antworten