|
|||
html hidden-array aus Formular via javascript füllen
Hallo Leute,
ich hänge mal wieder fest, für meine Begriffe ist das Kinderkram, aber ich bekomme es einfach nicht hin und meine Recherche ist auch nicht erfolgreich Ein einfaches Problem, ich möchte in einer Javascript funktion ein hiddenfeld des Formulars füllen, meine einfachster Ansatz ist wie folgt: HTML-Code:
<script> funktion xyz() { var old_ds = document.getElementById('mem_ds'); old_ds.value[0] = 123;\n old_ds.value[1] = 456;\n"; } </script> ...der html Teil <body> <form ......> ..... <input type="hidden" name="ds_alt[]" id="mem_ds" value=""> <input type=submit name="go" value="lass mal sehen"> .... </form> </body> und ich habe auch viele Varianten ausprobiert (an den verschiedensten Stellen mit leeren [], ohne [] etc). aber nichts will funktionieren, wenn ich mir die Postvariable nach submit anschaue hat er maximal nur das [0]-te element mit dem letzten in der js-funktion übergebenem wert belegt. wo habe ich da meine Blockade? Das kann doch nicht so schwere sein! *heul ich würde mich über einen kleinen Hinweis sehr freuen ) Danke und einen Lieben Gruß ZEN Geändert von ZENeca (07.07.2011 um 19:33 Uhr) |
Sponsored Links |
|
|||
Erstmal fehlt dir der Aufruf deiner Funktion xyz().
Ich frage mich jetzt allerdings was du überhaupt mit dem ganzen bewzecken möchtest. Sag doch nochmal ein paar Sätze dazu... Gruß |
Sponsored Links |
|
|||
Hallo Zeji,
erst mal besten Dank für dein Feedback dachte aber, daß es hilfreich ist mein Anliegenben es auf das Nötigste einzudampfen (nich mal den Funktionsaufruf habe ich aufgeführt, weil der für das eigentliche Problem wohl eher unbedeutend ist, habe ich den <body> doch auch nur sequentiell aufgeführt erzähl mir was genaueres... wird echt schwierig und ich weiß nicht auf was es dir ankommt ich versuch’s mal zu erklären, weiß nur nicht genau wo ich anfangen soll. Es geht um die Verwaltung einer Datenbank, natürlich auch mit der Option, Datenbankenträge zu editieren. Bei diesem Vorgang ist es immer vorteilhaft feststellen zu können, welche Inhalte sich wirklich geändert haben, um nur relevante Daten „upzudaten“. Zu diesem Zweck ist es ratsam den alten Datensatz als Referenz nicht zu verwerfen. Jetzt der Kern: Bei meiner Software verhält es sich so, daß ich das gesamtes Ergebnis der letzten Datenbankabfrage im Arbeitsspeicher (RAM) halte und dort unter anderem auch als zweidimensionale JS-Array. (Mag ich so, da ich nicht wegen jedem Schlonz unnötig Verbindungen aufbauen will, ist immer langsamer als den hauseigenen, flüchtigen Speicher zu befragen) Und die einzige Stelle festzustellen welcher der dargestellten Datensätze (durch Mausklick) angewählt wurde, ist eben eine javascript Funktion (in meinem Beispiel xyz()). Dort habe ich auch Zugriff auf das (JS-Such-Ergebnis)Array und würde gerne den ausgewählten Datensatz in ein hidden-object retten, um diesen in der nächsten Runde wieder aus dem Ärmel zu zaubern Also: javascript-Array nach submit verfügbar haben fürchte, das hat dir jetzt auch nicht wirklich weiter geholfen |
|
|||
Ohne den Sinn und Zweck der ganzen Sachen kommentieren zu wollen, wie wär's mit Serialisierung?
(Der PHP-Auswertungsteil ist natürlich nicht obligatorisch.) PHP-Code:
|
|
|||
So ihr lieben Leut,
danke für euer Engagement. Und da ihr euch so lieb bemüht habt, gebietet es die Höflichkeit sich noch mal zu äußern. @ mermshaus danke für die ausführliche Beschreibung, über diese Methode bin ich auch bei meiner ersten Recherche gestolpert und hatte gehofft, daß ich die dafür nicht unbedingt brauche. Hatte ich bei meinen Treffern nicht auf anhieb verstanden, mit deinem Beispiel hat sich mir jetzt schon eher der Sinn erschlossen, sehr interessant, für was wird das üblicher weise eingesetzt? @protonenbeschleuniger Das schnalle ich jetzt nicht ganz. Du meinst, daß ich die Prüfung vor dem submit vornehme, die Felder, die sich nicht geändert habe leere und somit nach dem submit nur die Daten übertragen wurden die sich auch wirklich geändert haben? Ach ein sehr konstruktiver Lösungsvorschlag, das einzige Problem dabei wäre, wie ich ihm klar machen kann, wenn sich ein Wert von Wert auf NULL geändert hat, das würde er doch so nicht erkennen und ich könnte doch keine Werte mehr löschen, oder habe ich da einen Denkfehler drin? @Chris2010, ja, das war auch mein ursprünglicher Ansatz, aber dann habe ich ja ein nicht ...wie sagt man, ein diskretes Array? also dann bekomme ich nach submit in meiner Ergebnisarray old[0] = ’t’, old[1] = ’e’ old[2] = ’s’ etc. hilft scheinbar erst mal so nicht weiter, hatte sogar vor meinem Beitrag hier im Forum eine Lösung gefunden die ganz bequem ein ganzes Javascript-Array übertragen hat, also in der js-Funktion: old_ds.value = complete_search[val]; bei der Deklaration von complete_search[x][y]; -> x ist Zeile für einen gesamten Datensatz z.B. complete_search[x][0] = 12, complete_search[x][1] = 7 complete_search[x][2] = ‘Hallo’ ,…. da kam dann nach submit so was wie: 12,7,’hallo’,..... raus und in dem Fall war es dann auch so, daß z.B. old[3] = 7 oder old[6] = h beinhalteten nachdem ich das dann bemerkt hatte, wollte ich es mit str_getcsv in ein Array splitten, was natürlich einerseits mit Kanonen auf Spatzen geschossen ist und andererseits nicht mal funktioniert hat, da mein Provider nur php 5.2 unterstützt und als ich das bemerken durfte hatte ich endgültig den Kanal voll und habe es hier gepostet. Aber im Prinzip war es doch der richtige Ansatz und die Lösung, die sicher schon der ein oder andere Leser ahnt, ist es dann diesen String einfach mit einem explode() zu zerlegen ...bin ich aber auch eher bei einer anderen Recherche drüber gestolpert also: Noch mal besten Dank für eure Vorschläge und Mühe CU Zen Geändert von ZENeca (11.07.2011 um 14:41 Uhr) |
|
||||
Zitat:
EDIT: jetzt weiß ich was du meinst. Stimmt, sicherer wäre ein Indikator dafür, dass sich ein Feld nicht geändert hat, z.b. -1 oder eben die Zeichenkette NULL |
|
|||
Zitat:
Ich nehme an, was bei dir bei der Zuweisung eines Arrays an die value-Eigenschaft geschieht, ist einfach ein Type-Casting nach String (dasselbe wie etwa bei alert() mit Array-Parameter). Das ist nicht zwangsläufig verlustfrei. Aus Aus [12, 7, 'Hallo,Welt'] wird beispielsweise "12,7,Hallo,Welt". Du kannst dort später afaik nicht eindeutig unterscheiden, was zu welchem Array-Eintrag gehört. |
Sponsored Links |
Stichwörter |
array, formularfeld, javascript |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Formular padding Problem im IE 7 | unic | CSS | 8 | 18.01.2009 13:12 |
Problem beim ein/ausblenden von Spalten in Tabellen via CSS und JavaScript | chrisol_76 | CSS | 2 | 21.07.2008 17:37 |
Edit HTML per JavaScript? | E|H | Javascript & Ajax | 12 | 21.12.2007 23:41 |
Daten via Link an Formular übergeben | Sukkulent | Serveradministration und serverseitige Scripte | 6 | 02.06.2007 15:49 |
Formular in Funktion und HTML aufteilen | Schneemann | Serveradministration und serverseitige Scripte | 2 | 05.01.2007 12:00 |