Wer kann helfen?

rhodos

Mitglied
Hallo,

ich möchte ein Formular schreiben bei dem man in mehreren Auswahllisten verschieden Werte auswählen kann (um diese dann in eine Datenbank zu schreiben!). Jetzt ist aber das Problem, das die Auswahllisten den Wert nicht
halten sobald ich eine Liste editiere springen die anderen wieder auf 1 zurück.

was kann ich tun ????


<html>
<body>
<form name="form1">
<table width="500" border="1">
<tr>
<td width="200">
<select name="spalte1" onChange="document.forms['form1'].submit();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
<select name="spalte2" onChange="document.forms['form1'].submit();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td></tr>

<tr><td>
<?
echo $spalte1;
?>
</td>
<td>
<?
echo $spalte2;
?>
</td>
</tr>
</table>
</form>
</body>
</html>
 
Wenn ich das richtig interpretiere, dann bewirkt 'onchange' dass das Formular in der DB gespeichert und neu geladen wird. Klar springt dann der Wert auf den ersten Eintrag zurück.

Aber warum mit 'onchange' und nicht einfach mit einem Button? Dann kannst du erst alle Werte auswählen und dann übermitteln.

Sonst musst Du es so lösen, dass nach dem Eintrag des Formulars die Werte wieder aus der BD gelesen und ins Formular übernommen werden. Das kann in etwa so geschehen:

CODE echo "<select name=\"land\" class=\"eingabe\" tabindex=\"1\">";
?>
<option value="Schweiz"<?php if ($land == 'Schweiz'){echo " selected";}?>>Schweiz</option>
<option value="Deutschland"<?php if ($land == 'Deutschland'){echo " selected";}?>>Deutschland</option>
<option value="Oesterreich"<?php if ($land == 'Oesterreich'){echo " selected";}?>>Oesterreich</option>
<option value="Frankreich"<?php if ($land == 'Frankreich'){echo " selected";}?>>Frankreich</option>
<option value="Spanien"<?php if ($land == 'Spanien'){echo " selected";}?>>Spanien</option>
<option value="Portugal"<?php if ($land == 'Portugal'){echo " selected";}?>>Portugal</option>
<option value="Belgien"<?php if ($land == 'Belgien'){echo " selected";}?>>Belgien</option>
<option value="Luxemburg"<?php if ($land == 'Luxemburg'){echo " selected";}?>>Luxemburg</option>
<option value="Niderlande"<?php if ($land == 'Niederlande'){echo " selected";}?>>Niderlande</option>
<?php
echo "</select> ";


Ist etwas umständlich, aber es funktioniert. Mit folgendem Code sollte es aber auch gehen, habs nur noch nicht selber probiert:


CODE echo "<select name=\"land\" class=\"eingabe\" tabindex=\"1\">\n";
$tmp = array("Schweiz", "Deutschland", "Oesterreich", "Frankreich", "Spanien", "Portugal", "Belgien", "Luxemburg", "Niderlande");
foreach($tmp as $value) {
echo "<option value=\"".$value."\"";
if ($land == $value ) { echo "selected"; }
echo ">".$value."</option>\n";
}
echo "</select>\n";



Gruss René
 
Zurück
Oben