onload=setfocus() außerhalb dem <body> aufrufen?
Peter Meyer
- javascript
Hallo,
ist es auch irgendwie möglich ein onload=setfocus() nach dem <body> Aufruf aufzurufen?
Also bei mir ist der Aufruf im body Tag nicht möglich weil ich den HTML Anfang und Ende per Include aufrufe.
Und nicht jede Seite hat ein Formular hat.
Gibt es bei JavaScript auch die Möglichkeit ein "onload=setfocus()" im HTML Code nachzuladen?
Gruß Peter Meyer
Hi,
nein, gibt es nicht. Ich stand auch schonmal vor so einem Problem und hab's wie folgt gelöst:
<body onload="if(doOnLoad){doOnLoadFnc();};">
Und dann irgendwo im Mainpart der HTML-Seite dieses Script:
<script language="javascript">
var doOnLoad=true;
function doOnLoadFnc(){
// Hier den JS-Code schreiben, der onLoad ausgeführt werden soll
}
</script>
Und wenn mal auf einer Seite kein onLoad stattfinden soll:
<script language="javascript">
var doOnLoad=false;
</script>
Hoffe das hilft weiter...
Ciao
Andreas
Hallo,
ist es auch irgendwie möglich ein onload=setfocus() nach dem <body> Aufruf aufzurufen?
Also bei mir ist der Aufruf im body Tag nicht möglich weil ich den HTML Anfang und Ende per Include aufrufe.
Und nicht jede Seite hat ein Formular hat.
Gibt es bei JavaScript auch die Möglichkeit ein "onload=setfocus()" im HTML Code nachzuladen?
Gruß Peter Meyer
vielleicht kannst du das in einem anderen tag einbauen wie z.B.: im <table>.
da ich dat problem noch nie hatte kann ich nich versprechen dat dat geht, also einfach mal ausprobiern..
mfg. mod.alex
Hallo,
ist es auch irgendwie möglich ein onload=setfocus() nach dem <body> Aufruf aufzurufen?
<script type="text/'javascript">
self.onload=self.focus;
</script>
Hi,
manchmal ist es so einfach... Und ich schreib' mir den Wolf...
Ciao
Andreas
<script type="text/'javascript">
self.onload=self.focus;
</script>
Also ich habe nun folgendes gemacht ich möchte nochmal betonen das ich den "onload=setfocus()" nicht über den den <body> tag aufrufen kann.
Hier mein Beispiel wie ich es gemacht habe aber funktionieren tut das auch nicht... Vielleicht ist da auch was falsch?
<html>
<head>
<script>
<!--
function setfocus() {
document.sample.Titel.focus();
}
// -->
</script>
</head>
<body>
<script type="text/'javascript">
self.onload=self.focus;
</script>
<form name="sample" method="post" action="neu.php?id=<?=$id?>">
<input type="text" name="Titel" value="<?=$titel?>" size="30" maxlength="200">
</form>
</body>
</html>
Hi,
bis auf das es "document.sample.Titel" nicht gibt (JS-Fehler!!), sollte es so klappen:
<html>
<head>
<script>
<!--
function setfocus() {
document.sample.Titel.focus();
}
// -->
</script>
</head>
<body>
<script language="javascript">
self.onload=setfocus();
</script>
<form name="sample" method="post" action="neu.php?id=<?=$id?>">
<input type="text" name="Titel" value="<?=$titel?>" size="30" maxlength="200">
</form>
</body>
</html>
Ciao
Andreas
Ja genau das dachte ich auch...
Auch wenn ich es raus nehem geht es trotzdem nicht :-(
Hi,
tatsächlich... Wenn ich das "" durch "self" ersetze, klappt's auch nicht... Nur, wenn ich direkt im BODY-Tag "onload="self.focus()"" schreibe - ansonsten gibt's den JS-Fehler "Nicht implementiert" - was auch immer das bedeuten soll. So'n Quatsch. Tja, ein echtes Problem...
Aber mit meinem ersten Vorschlag geht's:
<html>
<head>
</head>
<body onload="if(doOnLoad){doOnLoadFnc();};">
<form name="sample" method="post" action="neu.php?id=<?=$id?>">
<input type="text" name="Titel" value="<?=$titel?>" size="30" maxlength="200">
</form>
<script language="javascript">
<!--
var doOnLoad=true;
function doOnLoadFnc(){
self.focus();
}
//-->
</script>
</body>
</html>
Ist halt nur etwas unelegant...
Ciao
Andreas
Hallo,
elegant ist die Lösung nicht wirklich aber besser wie gar nichts.
Aber dann kann man auch gleich 2 Include Dateien erstellen die eine hat im body die onload Funktion drin und die andere nicht. Vom Aufwand kommt das selbe heraus...
Für was hast Du den die Onload Funktion gebraucht? Oder wann kann man die Funktion auch noch einsetzen?
Ich bin in JavaScript noch nicht so vertraut deswegen Frage ich...
Gruß Peter
Hier mein Beispiel wie ich es gemacht habe aber funktionieren tut das auch nicht... Vielleicht ist da auch was falsch?
du rufst duie Funktion nicht auf
<html>
<head>
<script>
<!--
function setfocus() {
document.sample.Titel.focus();
}
// -->
</script>
</head><body>
<script type="text/'javascript">
self.onload=self.focus;
self.onload=setFocus;
</script>
<form name="sample" method="post" action="neu.php?id=<?=$id?>">
<input type="text" name="Titel" value="<?=$titel?>" size="30" maxlength="200">
</form></body>
</html>
Struppi.