Es ist ein Stück HTML:Fehler "Funktion erwartet" in IE: '<input onclick = "start();" ... '
<input onclick="start();" type="button" value="Start!"/>
In Firefox und Chrome ruft sie start
auf Klick. In IE9 wird jedoch die Fehlermeldung: SCRIPT5002: Function expected
. Dann habe ich versucht, mehrere verschiedene Fälle:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function start(){
alert("Let's start");
}
function stop(){
alert("Let's stop");
}
</script>
<input onclick="start();" type="button" value="Start!"/><br/> <!-- Failed : the main issue -->
<span onclick="start();">Start!</span><br/> <!-- Work -->
<input onclick="stop();" type="button" value="Stop!"/><br/> <!-- Work -->
<input onclick="start();" type="text" value="Start!"/><br/> <!-- Failed -->
<input onmouseover="start();" type="button" value="Start!"/><br/> <!-- Failed -->
</body>
</html>
- Originalbeitrag: Fehler (Deshalb bin ich hier.)
- Verwenden Sie einen
span
stattinput
: Erfolg - Verwenden Sie eine andere Funktionsname: Erfolg
- Verwenden Sie einen anderen Typ: Fehler
- Verwenden
onmouseover
stattonclick
: Fehler
Ich habe Debugger verwendet und es hieß start
ist function start(){alert("Let's start");}
. Dann habe ich alert(start)
und es sagte fileopen
.
Als Ergebnis von Test 3 kann ich problemlos umgehen, indem ich den Namen ändere, aber ich möchte wissen, warum dieser Fehler in einigen Fällen passiert, aber nicht in den anderen passiert ist. Bearbeiten: Oder die nächstbeste Sache, andere Work-Arounds ohne die Namen ändern.
erste Dinge zuerst, entfernen Sie alle Javascript aus Ihrem HTML! halten Sie Ihr Javascript in einer js-Datei. :) – Johan
@Johan Eigentlich habe ich, und ich habe den Fehler, dann habe ich JavaScript in HTML, um hier zu posten. – johnchen902
Wahrscheinlich haben Sie eine andere 'start'-Variable mit einem anderen Typ als der Funktion neu definiert. Es kann auch eine ID eines HTML-Elements sein, das die ursprüngliche globale Variable überschattet. – Teemu