Hi,
ich habe ein Gästebuch, das in allen aktuellen Browsern wunderbar funktioniert.
Das Eingabeformular liegt in einem div und kann über einen Link sichtbar gemacht werden
und über ein kleines X (natürlich auch ein Link) versteckt werden. Funktioniert wunderbar mit
Javascript. Code folgt unten.
Nun habe ich eine Ausweichmöglichkeit geschaffen, mit der das Formular auch ohne Javascript benutzt werden kann, aber trotzdem bei aktivem Javascript zunächst unsichtbar ist. Das ist ja noch ganz einfach, indem man einmal den Link zum Formular mittels Javascript schreibt und einmal ins <noscript></noscript> packt.
Dummerweise macht hier der IE8 Probleme und zeigt das Formular nicht an, sobald man den mittels JS generierten Link anklickt.
Ich habe daraufhin ein wenig rumgebastelt und ändere nun stattdessen mittels onload="" den Zustand des Formulars und das Ziel des Links für das Formular.
Dadurch ist es aber so, dass der IE8 nun das Formular anzeigt, obwohl es nicht angezeigt werden soll.
Da manche Besucher leider immer noch XP haben und trotzdem den IE verwenden, suche ich nun nach einer Lösung, wie beides funktioniert.
Hier auszugsweise mein Script in erster Variante:
Und hier nun die Variante wo das Formular im IE8 sichtbar bleibt:
In beiden Fällen meckert der Debugger des IE8 Entwicklertools "Objekt erwartet".
ich habe ein Gästebuch, das in allen aktuellen Browsern wunderbar funktioniert.
Das Eingabeformular liegt in einem div und kann über einen Link sichtbar gemacht werden
und über ein kleines X (natürlich auch ein Link) versteckt werden. Funktioniert wunderbar mit
Javascript. Code folgt unten.
Nun habe ich eine Ausweichmöglichkeit geschaffen, mit der das Formular auch ohne Javascript benutzt werden kann, aber trotzdem bei aktivem Javascript zunächst unsichtbar ist. Das ist ja noch ganz einfach, indem man einmal den Link zum Formular mittels Javascript schreibt und einmal ins <noscript></noscript> packt.
Dummerweise macht hier der IE8 Probleme und zeigt das Formular nicht an, sobald man den mittels JS generierten Link anklickt.
Ich habe daraufhin ein wenig rumgebastelt und ändere nun stattdessen mittels onload="" den Zustand des Formulars und das Ziel des Links für das Formular.
Dadurch ist es aber so, dass der IE8 nun das Formular anzeigt, obwohl es nicht angezeigt werden soll.
Da manche Besucher leider immer noch XP haben und trotzdem den IE verwenden, suche ich nun nach einer Lösung, wie beides funktioniert.
Hier auszugsweise mein Script in erster Variante:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gästebuch</title>
<script type="text/javascript">
function neuer_Eintrag() {
document.getElementById("formular").style.display="";
}
function abbrechen() {
document.getElementById("formular").style.display="none";
}
</script>
</head>
<body>
<p><script type="text/Javascript">
document.write("<a href=\"javascript:neuer_Eintrag()\">Neuer Eintrag</a>");
</script>
<noscript><a href="#formular">Neuer Eintrag</a></noscript>
</p>
<div id="eintraege">
Hier stehen die Einträge
</div>
<script type="text/Javascript">
document.write("<p><a href=\"javascript:neuer_Eintrag()\">Neuer Eintrag</a></p><br>");
document.write("<div id=\"formular\" class=\"formularjs\" style=\"display:none;\">");
document.write("<a href=\"javascript:abbrechen()\" id=\"abbr\"><img src=\"images/abbruch.gif\" alt=\"abbrechen\" ></a>");
</script>
<noscript>
<div id="formular" class="formularns">
</noscript>
<!-- hier steht das Formular -->
</div>
</body>
</html>
Und hier nun die Variante wo das Formular im IE8 sichtbar bleibt:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gästebuch</title>
<script type="text/javascript">
function neuer_Eintrag() {
document.getElementById("formular").style.display="";
}
function abbrechen() {
document.getElementById("formular").style.display="none";
}
function startfunction(){
document.getElementById("formular").style.display="none";
document.getElementById("formular").class="formularjs";
document.getElementById("untererlink").style.display="";
document.getElementById("untererlink").href="javascript:neuer_Eintrag()";
document.getElementById("obererlink").href="javascript:neuer_Eintrag()";
}
</script>
</head>
<body onload="startfunction()">
<p><a href="#formular" id="obererlink">Neuer Eintrag</a>
</p>
<div id="eintraege">
Hier stehen die Einträge
</div>
<p><a href="#formular" style="display:none;" id="untererlink">Neuer Eintrag</a>
</p>
<div id="formular" class="formularns">
<!-- hier steht das Formular -->
</div>
</body>
</html>
In beiden Fällen meckert der Debugger des IE8 Entwicklertools "Objekt erwartet".