Versuchen Sie, das gesamte Skript über jslint auszuführen. Dies kann Ihnen helfen, auf die Ursache des Fehlers hinzuweisen.
Bearbeiten Ok, es ist nicht ganz die Syntax des Skripts, das ist das Problem. Zumindest nicht auf eine Weise, die jslint erkennen kann.
Nachdem bei http://ft2.hostei.com/ft.v1/ mit Ihrem Live-Code gespielt, es sieht aus wie es Syntaxfehler in dem generierten Code die Ihr Skript in dem DOM in ein onclick
Attribut legt. Die meisten Browser sind nicht sehr gut darin, Fehler in JavaScript zu melden, das über solche Dinge ausgeführt wird (was ist die Datei- und Zeilennummer eines Skriptstücks im onclick
Attribut eines dynamisch eingefügten Elements?). Dies ist wahrscheinlich der Grund, warum Sie in Chrome eine verwirrende Fehlermeldung erhalten. Die FireFox-Fehlermeldung ist anders und hat auch keine nützliche Zeilennummer, obwohl FireBug den Code anzeigt, der das Problem verursacht.
Dieser Code-Schnipsel aus Ihrer edit
Funktion übernommen, die im Inline-Skriptblock Ihres HTML ist:
var sub = document.getElementById('submit');
...
sub.setAttribute("onclick", "save(\""+file+"\", document.getElementById('name').value, document.getElementById('text').value");
Beachten Sie, dass dies setzt das onclick
Attribut eines Elements zu ungültig JavaScript-Code:
<input type="submit" id="submit" onclick="save("data/wasup.htm", document.getElementById('name').value, document.getElementById('text').value">
Die JS ist:
save("data/wasup.htm", document.getElementById('name').value, document.getElementById('text').value
Beachten Sie die fehlenden Schließen, um den Anruf zu save
zu beenden.
Nebenbei, das Einfügen von onclick
-Attributen ist keine sehr moderne oder saubere Möglichkeit, Ereignishandler in JavaScript hinzuzufügen. Warum verwenden Sie nicht die des DOM, um einfach eine Funktion an das Element anzuschließen? Wenn Sie etwas wie jQuery verwenden, wäre dies noch einfacher.
Ich kann nichts falsches dabei sehen (außer dass Sie versuchen, Integer CSS-Eigenschaften zuzuweisen, die Längen erfordern). Ich vermute, der Fehler liegt in irgendeinem umgebenden Code. – Quentin
Dieser Code, den Sie gepostet haben, verursacht keinen Syntaxfehler. Ist das wirklich ** alles ** deines Skripts? Nichts in diesem Code sieht so aus, als hätte er etwas damit zu tun, ein Fenster zu öffnen. – Pointy
es öffnet nicht wirklich ein Fenster, es macht nur ein div, das modale "Fenster", sichtbar. und nein, es ist nicht alles. aber der Rest des Codes ist nicht dort, wo das Problem liegt. und plus, es mag 100 Zeilen. möchtest du, dass ich das poste? –