Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

JavaScript und simple Frage (Link verändert Inhalt von Textfeld)





Frage

Hallo, ich bin nicht unbedingt ein JavaScript-Fan, daher habe ich mich nie so richtig damit beschäftigt. Nun habe ich eine Frage: Angenommen ich habe ein Frameset (2 Spalten). Linke Frameseite besteht nur aus einem Link, der sich "kusiv" nennt. Die rechte Frameseite besteht aus einem einfachen Texteingabefeld (<textarea></textarea>). Wenn ich das Textfeld einen Text hineinschreibe und ein einizges Wort bzw. Wortgruppe davon markiere nun im linken Frame auf "kursiv" klicke, ist es dann mit JavaScript möglich den ausgewählten Text im Eingabefeld zu beeinflussen? z.B. ich habe "Hallo Du" markiert. Nach dem Klick auf Kursiv soll "<i>Hallo Du</i>" erscheinen (der restliche Text drumherum soll unverändert bleiben). Ist das möglich? [i]<gruß thj>[/i]

Antwort 1 von Dr.Ma-Busen

Meinst du so etwas?
Musst mal schauen unter welchen Browsern das Funzt.
Und es dir evt. noch etwas anpassen.

<body style="background-color:black; color:white">
<script type="text/javascript">
<!--
  function formatText(op) {
  var textBackup = document.Formular.TextFeld.value;
  var textSelect = "";
   if (window.getSelection){
	textSelect = window.document.Formular.TextFeld.getSelection();
		}else if (document.getSelection){
			textSelect = document.Formular.TextFeld.getSelection();
			}else if (document.selection){
				textSelect = document.selection.createRange().text;
				}
		if(textSelect != ""){
		document.Formular.TextFeld.value = textBackup.replace(textSelect,"<" + op + ">" + textSelect + "</" + op + ">");
		document.Formular.TextFeld.blur();
		}
  }
//-->
</script>
	<form name="Formular">
	<input type="button" value="I" onMouseDown="formatText('i');">
	<input type="button" value="B" onMouseDown="formatText('b');">
	<input type="button" value="U" onMouseDown="formatText('u');">
	<textarea name="TextFeld"></textarea>
	</form>
</body>


MfG
Dr. Ma-Busen

Antwort 2 von TheHappyJoker

Hallo Dr. M-B,

ja genau, so etwas. Unter dem IE funktioniert es schonmal (für Mozilla muss ich es noch ausfeilen - ich brauche es eigentlich nur für Mozilla/Netscape (will eine Sidebar machen))

da aber die Buttons in der Sidebar erscheinen, wäre es möglich die Buttons in einen anderen Frame zu platzieren (also Frame und Buttons sind beide in einen eigenen Frame)?

<gruß thj>

Antwort 3 von Dr.Ma-Busen

Ja, die Buttons kannst du in einem anderen Frame platzieren, dann musst du die Funktion aber etwas anders aufrufen.
Also dann nicht direckt Funktionsname(Parameter)
sondern parent.frames[#].Funktionsname(Parameter) oder parent.FrameName.Funktionsname(Parameter)

MfG
Dr.Ma-Busen

Antwort 4 von TheHappyJoker

Mir kommt da gerade beim experimentieren ein blöder Gedanke:

Ich habe ja die 2 Frames (links, rechts). Im linken Frame sind ausschließlich die Button und im rechten das Textfeld (also Formular).

Das JavaScript muss ich aber in das selbe Frame bringen, wo auch das Formular ist, oder?

Das wäre nämlich etwas blöd, weil ich nur das Frame mit den Buttons beeinflussen kann.

Das Frame mit den Textfeld kann ich nicht beeinflussen!

Wird das jetzt problematisch für die Lösung?

<gruß thj>

Antwort 5 von TheHappyJoker

î and up î

Antwort 6 von Dr.Ma-Busen

So, ich bin mal etwas fremd gegangen in einem anderen Forum und habe auch was gefunden, ein Script um BB- Code einzufügen. Habe das jetzt mal etwas angepasst. Da es aber etwas zu lang ist habe ich es mal unter Folgenden URL's gepackt.

Hier ist erst mal das Original was ich gefunden habe
Und hier ist das von mir geänderte

So, dass geänderte kann auch noch Text einfügen, ich habe den teil des Script der das macht mit kommentaren mal makiert, wenn du das nicht habe willst must du dann nur die Funktion 'past' löschen.

MfG
Dr. Ma-Busen

Antwort 7 von TheHappyJoker

Oh man, Du bist es!!!

Danke, wirklich Danke!!!

Das ganze funktioniert gleich gut unter IE und Netscape/Mozilla. Spitze (das Script ist ja eigentlich schon perfekt beendet)!

<gruß thj>

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: