IE-Probleme mit onchange()
Peter
- browser
Hallo Ihr Nachteulen,
könnt Ihr hier mal einen Blick drauf werfen?
---------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Untitled</title></head>
<body>
<form action="selekt.php" method="post">
<fieldset>
<?PHP
$selekt= $_POST["send"];
echo"Empfangen: $selekt";
echo"<p><input name="send" type="radio" value="switch_1"";
if ($selekt=="switch_1")
{
echo"checked="checked"";
}
echo"onchange="this.form.submit();">Switch 1</p>";
echo"<p><input name="send" type="radio" value="switch_2"";
if ($selekt=="switch_2")
{
echo"checked="checked"";
}
echo"onchange="this.form.submit();">Switch 2</p>";
echo"<p><input name="send" type="radio" value="switch_3"";
if ($selekt=="switch_3")
{
echo"checked="checked"";
}
echo"onchange="this.form.submit();">Switch 3</p>";
?>
</fieldset>
</form>
</body>
</html>
---------------------------------------------------------------
Das Script stellt drei Radio-Buttons dar, und ruft sich selbst auf, sobald man einen der Radiobuttons anklickt. Dabei wird die jeweilig selektierte Radiobox mit übetragen und ein "checked" entsprechend gesetzt.
Mit dem Firefox läuft alles bestens. Der IE macht mal wieder was anderes draus. Ist mir da ein Fehler unterlaufen, den ich übersehe, oder wo hat der IE da sein Problem - bzw. wie kann ich das Problem lösen
Vielen Dank vorab ;)
Hi,
Das Script stellt drei Radio-Buttons dar, und ruft sich selbst auf, sobald man einen der Radiobuttons anklickt. Dabei wird die jeweilig selektierte Radiobox mit übetragen und ein "checked" entsprechend gesetzt.
Mit dem Firefox läuft alles bestens. Der IE macht mal wieder was anderes draus.
Als das wäre ...?
Onchange feuert ggf. erst, wenn das Element den Fokus wieder verliert. Nutze onclick stattdessen.
MfG ChrisB
Onchange feuert ggf. erst, wenn das Element den Fokus wieder verliert. Nutze onclick stattdessen.
Hi ChrisB,
Habe ich auch schon probiert. Die Selektion läuft dann zwar richtig, allerdings wird das Script dann nicht neu geldaden.
Mit onchange verhält es sich genau so, wie du gesagt hast. Ich klicke ein Box an und erst wenn ich anschliessend nochmal irgendwo im Dokument hingeklickt habe, wird das Script neu geladen.
Mit onklick wechselt er sofort die Boxen, sobald ich klicke, jedoch wird das script nicht geladen.
Hast Du noch nen Tipp ;)
Thx
Hi,
Mit onklick wechselt er sofort die Boxen, sobald ich klicke, jedoch wird das script nicht geladen.
Welches Script soll wo geladen werden?
MfG ChrisB
Naja, sobald man einen der drei Radiobuttons anklickt, soll das gleiche Script erneut aufgerufen werden, wie es ja auch mit onchange funktioniert.
dabei wird natürlich der gewisse Wert des radiobuttons übermittelt und bei dem selektierten radiobutton per If-Anweisung ein "checked" gesetzt.
Wie gesagt, mit onchange lädt er das Script neu, allerdings haut da die Selektion im IE nur mit nem 2. Klick ins nirgendwo hin, weil Du ja schon sagtest, dass letztlich nur der Focus drauf gesetzte wird, aber sonst nichts weiter passiert. eben erst mit nem weiteren Klick.
Bei onklick funktioniert zwar das selektieren der Radiobuttons, aber auch nach dem hundertsten klick sendet er das Formular einfach nicht ab, was er aber ja soll.
Frage also, wie kann ich mit nem onklick automatisch das Formular senden, OHNE auf nen Submitbutton oder sonstiges klicken zu müssen?
Mahlzeit Peter,
Wie gesagt, mit onchange lädt er das Script neu,
Nein, das Skript wird nicht neu geladen. Es wird das Formular abgeschickt. Das ist ein kleiner, aber wichtiger Unterschied!
Bei onklick funktioniert zwar das selektieren der Radiobuttons, aber auch nach dem hundertsten klick sendet er das Formular einfach nicht ab, was er aber ja soll.
Dann steht im onclick-Eventhandler eventuell nicht, dass das Formular abgeschickt werden soll?
Frage also, wie kann ich mit nem onklick automatisch das Formular senden, OHNE auf nen Submitbutton oder sonstiges klicken zu müssen?
Indem Du im passenden Eventhandler (in diesem Fall onclick) einfach angibst, dass das Formular abgeschickt werden soll. Was sollte daran nicht funktionieren?
MfG,
EKKi
Argh...
ich habe statt onclick inklick geschrieben *hau mit dem Kopf auf´m Tisch*
war eindeutig zu spät gewesen...
Danke ;)