Beitrag von hempelr (1976 Beiträge) am Donnerstag, 4.Juli.2002, 22:29.
@CB Eigenes Form für put / mod / del - (speziell Dateifeld )
Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 5.Juli.2002, 01:28.
Re: @CB Eigenes Form für put / mod / del - (speziell Dateifeld )
Ok... Also...
Grund von dem ganzen Kram ist dass das file-upload-Feld ein besonderes Feld ist - man darf es von aussen per HTML oder JS nicht verändern. Das wäre eine grobe Sicherheitslücke, da man dann z.b. per JS einen Filenamen reinschreiben könnte und das Formular automatisch abschickt - schon hat man das File ohne dass der Surfer das so wollte...
Deshalb muss man sich was anderes ausdenken um "Behalten", "Löschen", "Neu" umzusetzen und dafür sind die Checkboxes da. Ja, die müssen eigentlich immer da sein, bzw. es geht halt um den Wert. Kannste natürlich auch per "hidden"-Feld mitschicken, wenns keiner sehen soll.
Das JS mit dem this setzt, wenn ein neuer Filename eingegeben wird den "Neue Datei"-radiobutton - und zwar automatisch ohne dass die radio-buttons einen Namen haben müssen...
Beitrag von hempelr (1976 Beiträge) am Freitag, 5.Juli.2002, 07:29.
Re: @CB Eigenes Form für put / mod / del - (speziell Dateifeld )
Danke,
nun mach ich das doch mal so, mal sehn ob ich das hinkrieg.
Nachdem ich das JS hier ins Forum kopiert hatte und meinen Beitrag noch paar mal gelesen hab, ist mir dann (fast) das Licht bezuüglich des JS und der for-Schleife aufgegangen:
Es werden alle Elemente des Formulars gezählt und wenn das i-te Element den Namen des Dateifeldes hat wird die Zählscheleife abegebrochenn, dann wird das Feld vorher als checked gesetzt (this.form.elements[-1].checked) <-hab ichs geschnitten?
Das heißt (aber) dann auch, daß das die Checkboxes i m m m e r vor dem Bildfeld stehen müssen um die checked-Eigenschaft mittels des JS setzen zu können.
Theoretisch müßte doch das checked auch per Hand eintragbar sein, oder? Ist halt bloß wichtig, _filec_bild mit den definierten Werten für die jeweilige Aktion zu belegen, wenn man den Wert (und das Feld?) nicht mit übergibt bleibt die Datei erhalten (0 interpretiert Perl doch als nicht belegt aber definiert?)
Na dann, gleich mal noch was zu JS mitgekriegt (puhh, das ist immer ein Tanz mit JS, da muß man weitaus mehr mit Quotes und Doppelquotes aufpassen als bei bp und seinem Perl - brauche unterdessen mehr Zeit zum debuggen von JS-Teilen als von "reinem" bp-perl)
Übrigens - hast du irgendwas an der Fehlerausgabe geschraubt, es stimmen unterdessen die Zeilenangaben für auftretende Fehler ziemlich genau. Bei "includierten" Scriptteilen sagt er unterdessen auch den richtigen Script-Namen, wo der Fehler drin ist, ich glaub das war nicht immer so - find ich gut!
Nochmals danke - und das ist das, was ich hier so schätze, man lernt immer echt tolle Sachen dazu -:)
Ruben
Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 5.Juli.2002, 15:32.
Re: @CB Eigenes Form für put / mod / del - (speziell Dateifeld )
Ja, ist genau wie Du es schreibst... Und, ja, die checkbox muss genau ein Formularfeld vor dieser Schleife sein. Wenn man das Formular selbst schreibt würde man das sicher anders machen, einfach den checkbox-Feldern einen Namen geben und direkt ansprechen. baseportal generiert das aber automatisch und da war das so die einfachste Lösung.
Ja, JS is um einiges nerviger was Quotes angeht als Perl. In der neuesten JS kann man aber auch escapen, also \" und \' - dann gehts eigentlich ganz gut... ;-)
Nö, bei den Fehlermeldungen hab ich nix geändert, prima dass es sich von alleine verbessert ;-)))
Bitte, gern geschehen ;-))
Beitrag von hempelr (1976 Beiträge) am Freitag, 5.Juli.2002, 17:59.
Re: @CB Eigenes Form für put / mod / del - (speziell Dateifeld )
gut - die grauen Zellen gehen also doch noch und ich kapier auch noch Neues ;-)
Naja, also zu JS und Quotes ganz gut zu sagen grenzt ja schon eher an Zweckoptimismus..... :-)
Nagut, wenn an den Fehlermeldungen nichts geaädert wurde schieb ichs mal auf die Routine beim Debuggen, die man kriegt, je mehr man falsch macht......
Schönes Weekend
Ruben