WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP: reload über document.location, zeilenumbrüche in textarea gehen verloren (http://www.wcm.at/forum/showthread.php?t=231883)

RaistlinMajere 21.11.2008 15:48

PHP: reload über document.location, zeilenumbrüche in textarea gehen verloren
 
ich habe ein PHP-file, in dem einige formularelemente unter umständen deaktiviert werden. diese werden dann natürlich bei einem submit nicht übermittelt.

aus diesem grund lese ich den inhalt dieser elemente manuell per js aus und übergebe ihn an PHP mittels

Code:

document.location="./dasselbefile.php?formElementinhalt=" + document.formElement.value;
das funzt auch bestens. das problem ist nur, daß einige formularelemente textareas sind. bei der übergabe wie beschrieben gehen leider die zeilenumbrüche verloren (ich vermute, daß das schon bei der zuweisung über document.formElement.value passiert).

hat jemand einen tipp für mich, wie ich dem beikommen kann, ohne über einen submit zu gehen (da müßte ich dann viele zusätzliche hidden-elemente definieren, wo die inhalte der deaktivierten formularelemente reingespeichert und beim submit an PHP übergeben werden)?

Baron 21.11.2008 22:10

http://www.php-kurs.com/
weilst ja in letzter zeit mit PHP/my Sql etc.viel probleme hast-und ichs auch net weis

zAPPEL 23.11.2008 10:34

Ah, gerade gesehen, dass du das mit den hidden field eh schon geschrieben hast.. also vergiss das ganze von mir getiptte ;) So eine JS Lösung ist halt immer etwas "kritisch" denn was passiert wenn jemand JS deaktiviert hat.

-----

Als andere Lösung (wenn du eh schon mit JS arbeitest) kannst du für jedes dieser deaktivierten Elemente ein verstecktes <input type="hidden" value="123" /> Feld einsetzen, in das du den entsprechenden Wert schreibst, bevor das Formular abgeschickt wird.

Und wieder ein großartiger und hilfreicher Post von Baron.. hauptsache man schreibt zu jedem Thread eine Antwort und wenn sie auch noch so unnütz ist. :rolleyes:

lg

edit: Oder wenn sich an diesen deaktivierten Elementen zwischen dem Laden und Abschicken des Formulares nichts ändert, dann kannst du ja gleichzeitig die <input type="text" value="mein wert" disabled="disabled" /> und <input type="hidden" name="meinfeld" value="mein wert" /> beim Laden der Seite generieren. Damit erparst du dir das JS komplett.

lg

RaistlinMajere 24.11.2008 12:57

grundsätzlich hast du natürlich recht, nur in dem umfeld, wo das ganze zur anwendung kommt, ist JS sicher nicht deaktiviert.

ich habs jetzt so gelöst, daß ich doch über einen submit gegangen bin, aber diesen manuell über document.myForm.submit(); ausgelöst habe. davor habe ich dann noch per schleife alle formularelemente aktiviert, so daß die parameter mitgeschickt werden. zwar merkt man das natürlich kurz bevor die seite geladen wird, aber das ist wohl ein schönheitsfehler, mit dem ich leben muß. ;)

Zitat:

Zitat von zAPPEL (Beitrag 2326169)
Ah, gerade gesehen, dass du das mit den hidden field eh schon geschrieben hast.. also vergiss das ganze von mir getiptte ;) So eine JS Lösung ist halt immer etwas "kritisch" denn was passiert wenn jemand JS deaktiviert hat.


zAPPEL 24.11.2008 13:22

Wie gesagt, damit man dieses "unschöne" aufflackern der deaktivierten Elemente nicht sieht, kann man die Werte eben in versteckte Formularfelder schreiben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag