• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Deaktivieren von Form-Elementen in HTML

BlackFox

New member
hallo,

ich habe folgendes problem:

in meinem formular gibt es diverse select- und inputkomponenten. je nach berechtigung (wird mittels PHP gesteuert) sollen hiervon einige auf "readonly" gesetzt sein und andere wiederum nicht.

die readonly-anweisung bei den input feldern funktioniert auch ganz gut (entspricht optisch leider nicht meinen vorstellungen, da das feld leider nicht ausgegraut wird) - nur gibt es sowas beim select nicht.
ein versuch mittels "disabled" ist eigentlich genau das, was ich erreichen möchte: selbst der grösste DAU erkennt (hoffentlich *g*), dass man in diese felder nichts eingeben kann, da sie schreibgeschützt und ausgegraut dargestellt werden.

problem: die feldinhalte von "disable"ten feldern werden leider nicht via submit übertragen :-(

hat jemand ein paar vorschläge/workarounds für mich? code-redundanzen sollten möglichst vermieden werden ;-)

danke und viele grüße

marco
 
Hi!

Was das ausgrauen angeht:

<input name="text1" value="" readonly style="background-color: #d3d3d3">

Aber wieso zeigst Du die Felder überhaupt an, wenn man nix drin ändern darf?

Ahoi - Pit
 
pit-r schrieb:
Hi!

Was das ausgrauen angeht:

<input name="text1" value="" readonly style="background-color: #d3d3d3">

Aber wieso zeigst Du die Felder überhaupt an, wenn man nix drin ändern darf?

Ahoi - Pit

hallo!

ich zeig die nur an, um code zu sparen. d.h. zu beginn wird die variable $eingabeart entweder mit "disabled" oder mit "" (leerstring) gefüllt.

im code sieht das dann wie folgt aus:

print "<input type=\"text\" size=\"10\" maxlength=\"10\" name=\"datumvon_$dummy_id\" value=\"$fehlzeit[Datum_Von]\" $eingabeart>";

das hauptproblem ist aber, dass der feldinhalt scheinbar nicht mittels submit übergeben wird, wenn das feld disabled ist :(

viele grüße

marco

EDIT: war vielleicht etwas blöd ausgedrückt: das ganze ist eine tabelle, wo einige zeilen verändert werden dürfen und andere nicht mehr. da das ganze dynamisch generiert wird, war dies der einfachste weg, wie ich fand.
 
Zuletzt bearbeitet:
BlackFox schrieb:
ich zeig die nur an, um code zu sparen.
Wenn Du sie also nicht anzeigen mußt, die Werte beim submit aber brauchst, setze das display auf none. Dann sieht man sie nicht, aber die Werte kommen an.

Ahoi - Pit
 
pit-r schrieb:
Wenn Du sie also nicht anzeigen mußt, die Werte beim submit aber brauchst, setze das display auf none. Dann sieht man sie nicht, aber die Werte kommen an.

Ahoi - Pit

hi pit,

das geht leider auch nicht, da die "gesperrten" daten leider noch angezeigt werden sollen.

falls niemandem etwas sinnvolleres/eleganteres einfällt, werde ich mir jetzt wie folgt behelfen: sofern mittels select daten eingeben werden sollen, erfolgt die ausgabe normal. im anderen fall werden lediglich die daten ausgegeben, die ehemals durch select eingegeben worden sind.

in den anderen fällen werd ich auf "deine" input-anweisung zurückgreifen und die daten mittels readonly sperren, da sie dann immerhin via submit übermittelt werden.

danke und viele grüße

marco
 
Das widerspricht zwar Deiner Code-Sparerei, da die selects die nicht verändert werden sollen doppelt gebastelt werden müssen, Du solltest es aber dennoch in Betracht ziehen:

<select name="ichWerdeGebraucht" style="display: none">
<option value="1">Option 1</option>
<option value="2" selected>Option 2</option>
<option value="3">Option 3</option>
</select>
<select name="ichBinNurZumZeigen" disabled>
<option value="1">Option 1</option>
<option value="2" selected>Option 2</option>
<option value="3">Option 3</option>
</select>

Gruß - Pit
 
Zurück
Oben