[JS] Formularmanipulation, 2 Probleme

Kantholy

Lt. Junior Grade
Registriert
Aug. 2006
Beiträge
323
Hi, ich bins mal wieder, ich hab 2 Probleme mit meinem kleinen Projekt.
Ziel ist es ein fertiges Personalverzeichnis zu basteln.

Problem 1:

beim editieren

Ich habe ein Auswahlmenü erstellt, in dem man die Abteilung auswählen kann.
das ganze sieht so aus:
HTML:
<select name="position">
	<option value="BR">BR</option>
	<option value="CS">CS</option>
	<option value="CSV">CSV</option>
        ....

so, das Formular würde so nun schon passen, zum mindest beim erstellen von neuen Einträgen, aber beim editieren hätte ich gerne, dass es den bereits in der Datenbank gespeicherten Wert anzeigt. Das ganze hab ich bei den ganz normalen Inputfeldern einfach über die defaultvalue gelöst, aber wie funktioniert das bei einer Liste?
Klar mit selected, aber das Problem hierbei ist: die Liste steht fest im Quelltext, und dieses selected über PHP hinzuzufügen stelle ich mir sehr umständlich vor, DESWEGEN mein Plan:

ich lese das ganze zwar immernoch mit PHP aus, allerdings wird der ausgelesene Wert der Wert einer Variable in Javascript, und ich sage beim Laden einfach dem Formular, es solle doch bitte dieses als aktiv markieren.

Nur wie? Mein Ansatz war dieser hier:
Code:
selectedposition = <?php echo $row['position']; ?>;
document.edit.position.value = selectedposition;

EDIT:

hab was vergessen: Zur kleinen Info: Das Formular hat den name="edit" und das selectfeld hat name="position"

/ EDIT

nur das ganze funktioniert noch nicht :-(
Wäre klasse, wenn mir hierbei einer helfen könnte...

Problem 2:

Formularfelder voneinander abhängig machen.
Problematik ist diese: In der Firma gibt es diverse Abteilungen, diese haben Kürzel, dieses Verzeichnis, dass ich gerade erstelle soll aber sowohl für "Neuanfänger" als auch für die alten Hasen gedacht sein, deswegen mein Plan: Die Neuanfänger bekommen ein Auswahlmenü mit den ausgeschriebenen Namen der Abteilungen, die anderen können das mit den Kürzeln verwenden.

Der Ansatz war der hier:
einmal die Kürzel:
HTML:
	<select name="position">
		<option value="BR">BR</option>
		<option value="CS">CS</option>
		<option value="CSV">CSV</option>
und einmal die Abteilungen ausgeschrieben:
HTML:
	<select name="position_long">
		<option value="BR">Bertriebsrat</option>
		<option value="CS">Customer Service</option>
		<option value="CSV">Versand</option>

wems aufgefallen ist, die beiden Felder haben die selbe Value, heißen sozusagen nur anders. Jetzt muss ich diese also beim ändern nur noch "synchronisieren".

Einen wirklichen Ansatz dazu hab ich noch nicht, aber ich dachte mir: eine Funktion erstellen und diese über das onChange Event ausführen...

Kann mir dabei einer helfen?
 
Zuletzt bearbeitet: (kleine Ergänzung)
Ich würde bei Problem 1 so vorgehen...

Der komplette Select-Code wird über PHP geschrieben...
wenn der Wert des aktuellen Option-Feldes der selbe ist, wie der Wert des Users, so wird das Tag dementsprechend "markiert":
PHP:
if ($currentvalue == $ovalue) {
  echo "<option value='$ovalue' SELECTED>";
} else {
  echo "<option value='$ovalue'>";
}
also in etwa grob so...

nur keine Ahnung ob das in dein Konzept passt...
 
dann müsste ich die abteilungen usw. erstmal in einen array oder ähnliches einpflegen, aber möglich wäre es, klare Sache.

Wobei ich die Idee garnicht mal so blöd finde, da ich sonst immer wieder den gleichen Code schreibe und ich somit die Daten woanders weiterverwenden könnte.

Nur, muss ich das ganze nochmal coden :-(

Naja, aber eleganter isses auf jeden fall...
 
Zurück
Oben