Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit JavaScript Funktion
Tommes
2005-09-27, 17:13:43
JS Problem behoben - thx @darph! Habe aber ein neues, siehe weiter unten.
darph
2005-09-27, 17:38:51
Ich hab's mit dem IE getestet: Funktioniert ohne Probleme.
Tommes
2005-09-27, 17:41:17
Huch wie kann das denn sein? In dem Forum wo ich das eingebaut habe, geht es nicht. Hier mal mein Funktionsaufruf:
<A onClick="javascript:seturl('URL')"> ... </a>
darph
2005-09-27, 17:46:49
Ehm... klar.
du lädst ja eine neue Seite, eine, die eben JavaScript ausfürt.
pack das nicht in einen Link (und wenn, dann gibt zumindest return false zurück).
mach das so:
<button onClick="seturl('url');" >URL</button>
Tommes
2005-09-27, 17:55:31
Das hat leider auch nichts gebracht. Nach der Eingabe des ersten Strings ist das Fesnter weg, der JS Fehler lautet "Das Objekt unterstützt diese Eigenschaft oder Methode nicht"
Edit: Komischerweise funzt aber das hier:
function setcode(code,prompttext) {
inserttext = prompt("Zu formatierenden Text eingeben:"+"\n",prompttext);
if ((inserttext != null) && (inserttext != ""))
document.posting.text.value += "["+code+"]"+inserttext+"[/"+code+"] ";
document.posting.text.focus();
}
darph
2005-09-27, 18:02:41
Ehm..
okay. Folgender Test:
Nimm das mal, kopier das in eine textdatei und teste das mal bitte.
<html>
<head>
<script>
function seturl(type) {
description = prompt("Beschreibungstext eingeben (optional)","");
if (type == "URL") {
text = "Link eingeben";
content = "http://";
}
else {
text = "eMail-Adresse eingeben";
content = "";
}
url = prompt(text,content);
if ((url != null) && (url != "")) {
if ((description != null) && (description != ""))
document.posting.text.value += "["+type+"="+url+"]" +description+ "[/"+type+"] ";
else
document.posting.text.value += "["+type+"]"+url+"[/"+type+"] ";
}
document.posting.text.focus();
}
</script>
</head>
<body>
</body>
<form name="posting">
<input type="text" name="text">
</form>
<p onClick="seturl('url')">asdf</p>
</html>
Tommes
2005-09-27, 18:05:04
Das ist ja ma super seltsam. Da geht es, aber im Forum nicht. Nur weil ich die Funktion auf ein a Element gelegt habe?
darph
2005-09-27, 18:21:28
Höchstwahrscheinlich.
Tommes
2005-09-27, 18:24:37
Hmm leider nein, hab es wie folgt abgeändert:
<p onClick="seturl('URL'); return false;" href="#" style="cursor: pointer"><img border="0" src="images/ie.gif" width="16" height="16" alt="Link einfügen">URL</p>
Aber der Fehler bleibt derselbe :(
Irgendwie muss es woanders dran liegen
darph
2005-09-27, 18:57:54
Lösch mal des href aus dem Absatz raus und lösch mal das return false.
Oder gib ma url damit man sich das in Gänze ansehen kann.
Tommes
2005-09-27, 19:06:15
Hab ich alles schon probiert, leider bringt das nicht den gewünschten Effekt :(
URL ist schweirig, in das Forum (ist von einem Schachportal) kommt man nur als angemeldeter Spieler.
Sephiroth
2005-09-28, 00:12:36
Ehm..
okay. Folgender Test:
Nimm das mal, kopier das in eine textdatei und teste das mal bitte.
<html>
<head>
<script>
function seturl(type) {
description = prompt("Beschreibungstext eingeben (optional)","");
if (type == "URL") {
text = "Link eingeben";
content = "http://";
}
else {
text = "eMail-Adresse eingeben";
content = "";
}
url = prompt(text,content);
if ((url != null) && (url != "")) {
if ((description != null) && (description != ""))
document.posting.text.value += "["+type+"="+url+"]" +description+ "[/"+type+"] ";
else
document.posting.text.value += "["+type+"]"+url+"[/"+type+"] ";
}
document.posting.text.focus();
}
</script>
</head>
<body>
</body>
<form name="posting">
<input type="text" name="text">
</form>
<p onClick="seturl('url')">asdf</p>
</html>
klappt bei mir (firefox) auch mit einem a Element.
Tommes, wenn du Firefox nutzt, dann mach doch mal die JavaScript Console auf und sieh nach was für/ob Fehlermeldungen drinne stehen. Es kann sein, daß du vorher die Option javascript.options.showInConsole über about:config auf true setzen mußt.
Tommes
2005-10-04, 00:54:01
Das Problem tritt aber im Internet Explorer auf, nicht im FireFox ;) Da geht alles wunderbar. Ich versteh das auch nicht, wenn ich die stand-alone Seite von darph nehme, klappt es im IE, bei "mir" im Forum leider nicht. Seltsam.
darph
2005-10-04, 13:41:23
Dann speicher einfach mal die HTML-Datei mit dem Form und gib sie uns zum runterladen. Irgendwas wird da ja falsch gemacht, das müßten wir uns mal ansehen.
Tommes
2005-10-04, 13:42:23
Alles klar mach ich gleich mal :)
Tommes
2005-10-04, 13:53:51
So habe es einfach mal als HTML Seite gespeichert:
http://www.zum.de/psm/schach/forum.html
Wie gesagt, der Fehler kommt nur im IE. Danke, dass ihr euch das mal anschaut!
darph
2005-10-04, 16:06:45
<script>
function seturl(type) {
var description = prompt("Beschreibungstext eingeben (optional)","");
if (type == "URL") {
var text = "Link eingeben";
var content = "http://";
}
else {
var text = "eMail-Adresse eingeben";
var content = "";
}
var url = prompt(text,content);
if ((url != null) && (url != "")) {
if ((description != null) && (description != ""))
document.posting.text.value += "["+type+"="+url+"]" +description+ "[/"+type+"] ";
else
document.posting.text.value += "["+type+"]"+url+"[/"+type+"] ";
}
document.posting.text.focus();
}
</script>
beachte die Verwendung des Schlüsselwörtchens var - damit ging es.
Ach ja: Es ist nicht nötig, beim onClick-Handler "javascript:" davor zu setzen. Das ist nur in der Adreßzeile des Browsers nötig.
Tommes
2005-10-04, 16:08:50
<script>
function seturl(type) {
var description = prompt("Beschreibungstext eingeben (optional)","");
if (type == "URL") {
var text = "Link eingeben";
var content = "http://";
}
else {
var text = "eMail-Adresse eingeben";
var content = "";
}
var url = prompt(text,content);
if ((url != null) && (url != "")) {
if ((description != null) && (description != ""))
document.posting.text.value += "["+type+"="+url+"]" +description+ "[/"+type+"] ";
else
document.posting.text.value += "["+type+"]"+url+"[/"+type+"] ";
}
document.posting.text.focus();
}
</script>
beachte die Verwendung des Schlüsselwörtchens var - damit ging es.
Ach ja: Es ist nicht nötig, beim onClick-Handler "javascript:" davor zu setzen. Das ist nur in der Adreßzeile des Browsers nötig.
Dankeschön!
Bin nicht so der JS-Crack und der Code ist schon ca. 3 Jahre alt, den habe ich nur auf die schnelle in das Forum eingebaut, weil ich zu faul war, etwas neus zu schreiben :)
Tommes
2005-10-04, 16:49:17
So aber es gibt ein neues, noch seltsameres Problem, welches dieses mal im FF und im IE auftritt - aber nur sporadisch. Guckt dazu bitte mal diesen Screen an:
http://img55.imageshack.us/img55/9091/screenschach92vz.th.jpg (http://img55.imageshack.us/my.php?image=screenschach92vz.jpg)
Ich denke, dass es irgendwie mit dem CSS Code zusammen hängt, theoretisch müsste der Fehler hin und wieder auch hier http://www.zum.de/psm/schach/forum.html auftreten (da kann man auch die CSS Dateien ansehen).
Vielleicht hat dafür ja auch jemand einen Tip? Wollte keinen neuen Thread aufmachen.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.