Scriptfehler auf der Seite

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Scriptfehler auf der Seite

Beitrag von grizzlibaer »

Hi,
wenn ich versuche "smilies" einzufügen und ich klicke drauf dann erscheint folgende FM:

Zeile: 109
Zeichen: 17
Fehler: 'document.form.long_desc.createTextRange' ist Null oder kein Objekt
Code: 0

Zeile 109:

Code: Alles auswählen

                if (document.form.long_desc.createTextRange && document.commentform.comment.caretPos)
Der ganze Scriptabschnitt:

Code: Alles auswählen

function emotions(text)
{
                if (document.form.long_desc.createTextRange && document.commentform.comment.caretPos)
                {
                        var caretPos = document.form.long_desc.caretPos;
                        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
                        document.form.long_desc.focus();
                }
                else
                {
                        document.form.long_desc.value  += text;
                        document.form.long_desc.focus();
                }
}
HTML-Eingabe:

Code: Alles auswählen

<form enctype="multipart/form-data" action="{S_ADD_FILE_ACTION}" method="post" onsubmit="return checkAddForm();">

<textarea rows="6" name="long_desc" cols="32" class="post" style ="border: #445566; border-style: solid; border-width: 1px; width:500px; height:120px;">{FILE_LONG_DESC}</textarea>
Das komische:
Diese Fehlermeldung erscheint im IE.
Im Firefox kann ich "Smilies" einfügen.
Mozilla reagiert überhaupt nicht auf einen Klick mit der Maus :(

Hat jemand ne Ahnung was falsch ist?
gruß
grizzli
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Re: Scriptfehler auf der Seite

Beitrag von Blutgerinsel »

grizzlibaer hat geschrieben:Hi,
Hat jemand ne Ahnung was falsch ist?
Wie die Fehlermeldung schon unmißverständlich miteilt versucht der Herr auf nicht bestehendes Objekt zu referenzieren.

Wird kein Formularname explizit übergeben bekommt das Formular eine fortlaufende Nr. zugeteilt forms[0]......

Da das Formular nicht form heisst wird das Objekt nicht gefunden ganz einfach..... :roll:

Das kann man alles nachlesen -> http://de.selfhtml.org/javascript/objekte/forms.htm
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag von grizzlibaer »

Danke Blutgerinsel,
was würde ich ohne Dich tun :-?
Auf dieser Seite war ich schon, und ich habe keine Ahnung was die meinen. Ich bin immer auf der Suche bevor ich poste. Das etwas mit dem Formularnamen nicht stimmt, kann ich noch in etwas rauslesen. Wäre echt klasse könntest Du mir mitteilen wo ich etwas hinzufügen (insbesondere was) oder nur verbessern muß.

Ich geb es zu. Ich hab mit Scriptcode so meine liebe Not. Hört sich vielleicht bescheuert an ist aber eine Tatsache :roll:

Ich wäre Dir sehr dankbar
gruß
grizzli
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

füg mal im <form> tag noch name="form" ein.....
das sollte genügen....

Ergebnis ?
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag von grizzlibaer »

Das gleiche :(

Hier mal der Code der für alles zuständig ist mit Eingabefelder usw.
Hier das komplette Script auf der Seite:

Code: Alles auswählen

<script language="JavaScript" type="text/javascript">
<!--
	function checkAddForm() 
	{
		error_msg = "";
		if (document.form.cat_id.value == -1)
		{
			error_msg = "{LINK_CAT_NOT_ALLOW}";
		}

		if({ALLOW_GUEST} && document.form.post_username.value == "")
		{
			if(error_msg != "")
			{
				error_msg += "\n";
			}
			error_msg += "{LINK_GUEST_FIELD}";
		}
		
		if(document.form.name.value == "")
		{
			if(error_msg != "")
			{
				error_msg += "\n";
			}
			error_msg += "{LINK_NAME_FIELD}";
		}
		
		if(document.form.link_url.value == "" || document.form.link_url.value == "http://")
		{
			if(error_msg != "")
			{
				error_msg += "\n";
			}
			error_msg += "{LINK_URL_FIELD}";
		}
		
		if(document.form.link_logo_src.value == "")
		{
			if(!{ALLOW_NO_LOGO})
			{
				if(error_msg != "")
				{
					error_msg += "\n";
				}
				error_msg += "{LINK_LOGO_FIELD}";
			}
		}
		
		if(document.form.long_desc.value == "")
		{
			if(error_msg != "")
			{
				error_msg += "\n";
			}
			error_msg += "{LINK_LONG_DES_FIELD}";
		}
		
		if(error_msg != "")
		{
			alert(error_msg);
			error_msg = "";
			return false;
		}
		else
		{
			return true;
		}
	}
	
function emotions(text)
{
                if (document.form.long_desc.createTextRange && document.commentform.comment.caretPos)
                {
                        var caretPos = document.form.long_desc.caretPos;
                        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
                        document.form.long_desc.focus();
                }
                else
                {
                        document.form.long_desc.value  += text;
                        document.form.long_desc.focus();
                }
}
	
// -->
</script>
Ich hab jetzt auch festgestellt, das wenn die Pflichtfelder wie Name, Beschreibung, URL, Dein Name nicht ausgefüllt werden, das Formular trotzdem abgeschickt wird. Obwohl eine Info kommen müsste das man das Feld ausfüllen muß.
Das ganze betrifft nur den IE und den Mozilla. Firefox macht alles so wie es sein sollte. :(
gruß
grizzli
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Der geparste Templatecode ist ok ?

verwende am besten diese Schreibweise evtl. macht der teilweise auftretende Underscore Probleme:

Code: Alles auswählen

document.forms['formularname'].elements['feldname'].Eigenschaft
Antworten

Zurück zu „Coding & Technik“