JS funktioniert im IE aber nicht im Firefox

dline

Mitglied
Hi, ich bin gerade dabei ein CMS zu entwickeln.
Aktuell habe ich Probleme mit einem Textfeld.

Aufgabe: Ich möchte Fett, Kursiv etc. Buttons anbieten, damit die Benutzer Ihre Texte formatiert in der Datenbank ablegen können. Es sollen Worte markiert und dann bei Klick auf den Fett Button mit dem HTML Tag umrahmt werden.

Problem:
im Firefox funktioniert der überhaupt Code nicht. Also onclick läuft nicht
im IE 7 funktioniert das Problemlos.


Hier ist mein Code: die zu bearbeitende Textbox heisst: 'leistungtext'



Code:
<script language="JavaScript" type="text/javascript">

                    function editText(tag){
                 var textareaObj = document.getElementById('leistungtext')
                 //Start- und Endkoordinaten des zu bearbeitenden Strings
                 var startSelection = textareaObj.selectionStart;
                 var endSelection = textareaObj.selectionEnd;
                 //Ermittlung des zu bearbeitenden String
                 var subString = textareaObj.value.substring(startSelection, endSelection);

                 var tagOne='<'+tag+'>';
                 var tagTwo='</'+tag+'>';
                 //Erstellung des berarbeiten Strings
                 var editSubString =tagOne+subString+tagTwo;
                 //Ermittlung des Substrings vor  und nach dem zu editierenden Bereichs
                 var subStringBeforeSelection = textareaObj.value.substring('0', startSelection);
                 var subStringAfterSelection  = textareaObj.value.substring(endSelection, textareaObj.value.length);
                 //zusammenfuehren des neuen String
              //   var newString = subStringBeforeSelection+editSubString+subStringAfterSelection;
              var newString = editSubString;
                 //einfuegen des editierten Textes
                 textareaObj.value = newString;
         }

</script>

Der Code wird onclick über folgenden Befehl aufgerufen:
Code:
<input type="button" value="Fett" name="Fett" onClick="editText('b')">

Über eure Hilfe wäre ich euch sehr dankbar.

grüße dline
 
Hallo,

ich habe ein ähnliches Projekt / Problem aber darüber bin ich hinaus ;-)

Vom Prinzip her ist das richtig, aber das es mit dem Firefox t, musst du die Objekte mit "getElementById" ansprechen, dann klappt das.

Viele Grüße

Der Chill
 
Hi, danke schonmal. Irgendwie verstehe ich nicht ganz wie du das meinst. Ich spreche doch mit geElementById.. oder an welcher Stelle meinst du? GRüße dline
Code:
 var textareaObj = document.getElementById('leistungtext')
 
Hallo,

Sorry war wohl mein Fehler das ich das übersehen habe, aber ich habe trotzdem einen kleinen Fehler gefunden:

Code:
var textareaObj = document.getElementById('leistungtext')

Hier fehlt bei deinem Beispiel das abschließenden Semikolon.

Hier hätte ich außerdem noch einen Teil meines Quelltextes, der soweit (außer die Sache mit dem Promt) auch im Firefox funktioniert. Ich verwende eine zweite Textarea zum Zwischenparken - nur als kleine Info.

Code:
//Variable marker = der Markierte Text
//Die Tags habe ich in ein Array gepackt.
var rest = document.getElementById("1").value;
					document.getElementById("2").value += marker;
					if (methode == "a") {
						var eingabe = window.prompt("Bitte geben Sie den Link ein, z.b.: http://www.test.de/","http://");
						while(eingabe.length <= 0) {
							sleep();
						}
						var einf = '<' + methode + ' href=\"' + eingabe +'\" >' + marker + '</' + methode + '>';
					} else {	
						var einf = "<" + methode + ">" + marker + "</" + methode + ">";
					}
					var unmark = rest.split(marker);
					var einf1 = unmark[0] + einf + unmark[1];
					document.getElementById("1").value = einf1;

Ich hoffe ich konnte dir weiterhelfen... :-)

Viele Grüße

Der Chill
 

Neue Beiträge

Zurück