function in einer function aufrufen
sascha
- javascript
hi,
meine überschrift hört sich zwar ein bisschen komisch an, aber ich stelle folgendes script einfach mal hier rein damit es verständlich wird:
<html>
<head>
<title>Bestellung</title>
</head>
<script language="JavaScript">
<!--
function norm() {
document.write('<h1>Alkohol</h1>')
document.write('<br><br>')
document.write('Einmal <div onClick="bier()">klicken</div> für meinen Getränkewunsch.')
document.write('<br>')
document.write('Selbstverständlich trinke ich auch was <div onClick="coko()">anderes</div>!')
}
function bier() {
var bier = "Bier";
var leer = " "
var zahl = "10"
document.write('<br>')
for (a=1;a<=zahl;a++) {
document.write('<div onMouseover="javascript:history()">'+bier,leer+'</div>')
};
}
function coko() {
var korn = "Cola-Korn";
var leer = " "
var zahl = "10"
document.write('<br>')
for (a=1;a<=zahl;a++) {
document.write('<div onMouseover="norm()">'+korn,leer+'</div>')
};
}
//-->
</script>
<body bgColor="FF0000">
<h1>Alkohol</h1>
<br>
<br>
<b onMouseover="bier()">klicken</b> für meinen Getränkewunsch.
<br>
Selbstverständlich trinke ich auch was <b onMouseover="coko()">anderes</b>!
</body>
</html>
danke schon einmal im vorraus
ps: das script sagt nichts über meine trinkgewohnheiten aus ;-)
hallo sascha,
ich stelle folgendes script einfach mal hier rein damit es verständlich wird
Was soll verständlich werden, wo siehst du Probleme (die, die ich sehe, müssen ja nicht die sein, die du meinst)?
Grüße aus Berlin
Christoph S.
angenommen ich geh über das wort >>anderes<< funzt noch alles und es wird die function coko() aufgerufen und angezeigt. gehe ich aber dann über das >>Cola-Korn<< wird die function norm() nicht angezeigt das programm (html-editor phase 5.3) sagt mit dann:
In dem Script auf dieser Seite ist ein Fehler aufgetreten.
Zeile: 1
Zeichen: 1
Fehler: Objekt erwartet
Code: 0
das die function bier nicht richtig funktioniert war mir eigentlich klar, sollte auch nicht mit abgedruckt merden
welche meinst du
hallo sascha,
angenommen ich geh über das wort >>anderes<< funzt noch alles und es wird die function coko() aufgerufen und angezeigt. gehe ich aber dann über das >>Cola-Korn<< wird die function norm() nicht angezeigt das programm (html-editor phase 5.3) sagt mit dann:
In dem Script auf dieser Seite ist ein Fehler aufgetreten.
Ahja, das klingt schon interessanter. Phase 5 ist ein guter Editor, ich benutze ihn allerdings nicht. Nur: bevor wir die ganze Geschichte weiterdiskutieren, solltest du deinen Code wirklich mal in irgendeine "test.htm" packen, auf deiner Platte ablegen und beispielsweise im IE (jaja, der reicht hier aus) ankucken. Du wirst noch weit mehr Überraschungen erleben.
Fürs erste ein kleiner Hinweis: der Umgang mit EventHandlern ist zwar clever, aber so, wie du es gemacht hast, ist es nicht clever genug. <b onMouseover="bier()">klicken</b> ist eher ein Aprilscherz.
Ach, nochwas, ehe Cheatah sich hier einmischt:
<script language="JavaScript">
solltest du _dringlich_ überdenken. Sonst bekommst du noch Fehlermeldungen wie
"fatal error: run out of kaffeesatz."
Grüße aus Berlin
Christoph S.
hi,
document.write('<div onMouseover="javascript:history()">'+bier,leer+'</div>')
was ist history() für eine funktion?
meinst du eine methode des history-objektes? dann gib diese methode auch an.
wenn nicht - dann wähle ggf. einen anderen namen, damit es nicht zu kolisionen kommt.
und was soll +bier,leer+ darstellen?
wenn du dort zwei variablen verknüpfen willst, nimm den dafür zuständigen operator - das plus-zeichen, wie du es auch davor und danach verwendet hast. ein komma ist an der stelle fehl am platze.
btw: das document.write(), nach dem "laden" der seite aufgerufen, das aktuelle dokument ersetzt, ist dir bewusst?
gruß,
wahsaga
Tag sascha.
function bier() {
[...]
document.write('<div onMouseover="javascript:history()">'+bier,leer+'</div>')
[...]
function coko() {
[...]
document.write('<br>')
Wie wahsaga schon schrieb, wird durch die document.write-Anweisungen das bestehende Dokument komplett neu geschrieben, deshalb auch der Fehler "Objekt erwartet" in Zeile 1, Zeichen 1. Rufe mal die Quelltextansicht der Fehlerseite auf, dann verstehst du, was gemeint ist.
Willst du nachträglich etwas in ein Dokument schreiben bzw. etwas ändern, ohne das gesamte Dokument zu zerstören, wirst du dich der dafür vorgesehenen DOM-Methoden bedienen müssen, z.B.:
Kleines Beispiel:
Javascript-Funktion im Kopfbereich:
function saufaus(getraenk) {
document.getElementById("bestellung").firstChild.nodeValue = getraenk;
}
Und dazu folgender Code im Body:
<p>Herr Ober, bitte ein <span id="bestellung">Wasser</span>!</p>
<p><a href="#" onclick="saufaus('Bier');return false;">Ich will Bier!</a></p>
<p><a href="#" onclick="saufaus('Schnaps');return false;">Ich will Schnaps!</a></p>
<p><a href="#" onclick="saufaus('Taxi');return false;">Ich will nach Hause!</a></p>
Natürlich völlig wertfrei :-)
Siechfred