Funktion innerhalb des Body-Tags ausführen
Jan
- javascript
0 comunicout0 Jan
0 Gunnar Bittersmann
Hallo!
Hab folgendes Problem:
Ich sollte ein JavaScript, welches sich in einem ASP-Include befindet (einige JavaScript-Teile werden aus einer DB hergeladen) befindet, ausführen.
Das ganze ist mit Zig Includes sehr verschachtelt, aus diesem Grund muss ich das Script innerhalb des Body-Tags reinsetzen.
Somit kann ich es nicht mit "onLoad" ausführen, sollte es aber doch beim Laden der Seite ausführen.
Wie kann ich das nun machen?
Wenn ich das Script einfach ohne functions-Anweisung hinschreibe, gibt er mir nen Fehler aus. Umklammere ich es mit der Funktions-Anweisung und führe es über einen Button aus, geht es.
Das Script sieht folgendermassen aus:
<script language="JavaScript">
function ortupd() {
var frm = document.XNFORM;
for (i=0;i<frm.ORT.options.length;i++) {
if (frm.ORT.options[i].value == '<%=rs("Ort").value%>') frm.ORT.options[i].selected=true;
}
}
</script>
Das lässt sich über nen onClick problemlos ausführen. Nehme ich die Function-Anweisung weg, bekomme ich folgende Meldung:
'frm.ORT' ist Null oder kein Objekt. Es zeigt auf die erste Zeile des Scripts (also var frm = ....)
Weiß hier jemand nen Rat? Wär super!
lg, Jan
hi,
du kannst das onLoad mit einem
setTimeout("Funktion()",1) faken,
dann wirds nach 1ms nach dem
laden der seite aufgerufen...
allerdings habe ich dein problem
auch nicht so recht verstanden..ob
es jetzt daran liegt oder ein
fehler im script vorliegt...
mfg
comunicout
du kannst das onLoad mit einem
setTimeout("Funktion()",1) faken,
dann wirds nach 1ms nach dem
laden der seite aufgerufen...
Per onLoad geht es leider deshalb nicht, da ich das Script nicht im HEAD-Bereich drinnen hab.
Der Grund dafür: Einige DB-Teile werden erst nach dem Body-Tag inkludiert, welche für das Script notwendig sind.
Das Script an sich ist lauffähig, nur weiß ich nicht, wie ich es ohne onLoad automatisch ausführen lassen kann.
lg, Jan
hi,
das sagte ich bereits
du kannst das onLoad mit einem
setTimeout("Funktion()",1) faken,
dann wirds nach 1ms nach dem
laden der seite aufgerufen...
!!!
<SCRIPT language="JavaScript">
function IchStarteAutomatisch() {
alert("Friede");
}
window.setTimeout("IchStarteAutomatisch()",1)
</SCRIPT>
Somit wird die Funktion 1ms nach dem Laden der
Seite aufgerufen...
mfg
comunicout
<SCRIPT language="JavaScript">
AUA!! Warum wird das immer noch falsch gemacht?
Richtig ist:
<script type="text/javascript">
Gunnar
hi
<SCRIPT language="JavaScript">
<script type="text/javascript">
hätts komplett weglassen sollen dann wär mir
dat nich passiert...
Gunnar
mfg
comunicout
Hallo Jan,
also, ich verstehe dein Problem nicht.
<body onload="test('hallo')">
<script type="text/javascript">
function test(text)
{ alert(text); }
</script>
<p>Etwas Text.</p>
<script type="text/javascript">
alert("hallihallo");
</script>
</body>
funktioniert. Die onload-Funktion wird erst aufgerufen, wenn die Seite geladen ist.
Gruß, Jürgen
Hallo!
funktioniert. Die onload-Funktion wird erst aufgerufen, wenn die Seite geladen ist.
Ja, ausgeführt wird es, nur ist da frm.ORT.options.length gleich "0". Und wenn ich es später per Onclick ausführe, ist ...length so lang wie ich es gerne hätte, zB. 31
Obwohl das Script, dass den frm.ORT.option "auffüllt" zuerst ausgeführt wird, bringt mir das spätere eine Länge von 0 ;o(
Naja, werds wohl auf nen anderen Weg probieren müssen.
lg, Jan
'frm.ORT' ist Null oder kein Objekt. Es zeigt auf die erste Zeile des Scripts (also var frm = ....)
Jan,
Steht dein Script auch hinter dem XNFORM im Quelltext? Sonst ist das Objekt zur Laufzeit unbekannt.
Gunnar
Steht dein Script auch hinter dem XNFORM im Quelltext? Sonst ist das Objekt zur Laufzeit unbekannt.
Es war außerhalb des FORM-Tags, habs reingesetzt (selbst nach dem Select-Tag "ORT"), per onclick funktioniert es zum Glück immer noch *ggg* Aber wie soll ich es nun ausführen?
lg, Jan
Es war außerhalb des FORM-Tags, habs reingesetzt
Jan,
Nein, das glaube ich nicht. Zum Unterschied zwischen Element und Tag siehe http://selfhtml.teamone.de/html/allgemein/textauszeichnung.htm#elemente_tags und http://jendryschik.de/wsdev/einfuehrung/xhtml/syntax.html.
Das Script muss nicht innerhalb des form-Elementes stehen. Es darf halt nur nicht davor stehen.
Aber wie soll ich es nun ausführen?
Na "function {" und am Ende "}" löschen.
Gunnar