Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Inhalt von Auswahlbox bleibt bei Reload stehen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Inhalt von Auswahlbox bleibt bei Reload stehen


 
Screw Driver
19-07-2007, 21:45 
 
Hi,

ich stehe vor einem unlösbaren Problem.

Auf meiner Seite habe ich eine Select-Box. Wenn ich einen Eintrag auswähle und dann die Seite neu lade (z.B. F5) bleibt der Inhalt der Auswahlbox dort stehen und springt nicht auf den ersten zurück.

Nach dem Auswählen blendet ich mit JavaScript mit "onchange" etwas aus. Lade ich die Seite aber neu, so bin ich zwar im richtigen Auswahlpunkt, aber die Ausblendung ist natürlich weg.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Titel</title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
function wechseln() {
if( $("#eins option:selected").attr("value") == "ein" ) {
$("#zwei").css({ display: "block" });
} else {
$("#zwei").css({ display: "none" });
}
}
// -->
</script>
</head>
<body>

<select name="eins" id="eins" onchange="wechseln()">
<option value="aus">ausgeblendet</option>
<option value="ein">eingeblendet</option>
</select>

<div id="ebene2">
<select name="zwei" id="zwei" style="display:none;">
<option value="ja">ja</option>
<option value="nein">nein</option>
</select>
</div>

</body>
</html>

Wenn man hierbei nun "eingeblendet" auswählt, erscheitn die zweite Select-Box. Lädt man nun die Seite mit den "neu laden" button des Browsers oder F5 neu, bekommt man das Problem, dass "eingeblendet" ausgewählt ist, aber die Einblendung nicht stattfindet.

Wie kann man dieses Problem lösen?

 
onemorenerd
19-07-2007, 22:43 
 
onload!

 
Screw Driver
20-07-2007, 00:23 
 
Das große Problem ist, dass der IE bei Reload der Seite den ersten Punkt der Selectbox wählt.

Der Firefox setzt den Optionspunkt auf selected, den man davor selected hat. Dazu muss man die Seite nichtmal abschicken.

 
onemorenerd
20-07-2007, 01:34 
 
Egal, onload kannst du die Dinge selektieren wie du es möchtest. In allen Browsern.

Alternativ kannst du das Cachen der Seite verhindern und/oder die Inputs jedes Mal anders benennen.

 
Screw Driver
20-07-2007, 09:27 
 
Wie soll ich die Dinge selektieren die ich möchte, wenn der Browser sich das nicht merkt? Woher soll ich denn dann wissen, welche Option der User gewählt hat?

 
TobiaZ
20-07-2007, 12:40 
 
Du willst also das der IE sich genauso die selected items merkt, wie der FF?

Tja, so viel usability hat der IE nicht. (zumindest bis zur 6er Version). Du könntest beim Auswählen ein Cookie speichern und dieses entsprechend auslesen. Aber ansonsten haste da nicht viele Möglichkeiten.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:47 Uhr.