Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Markiertem Text einen Link hinterlegen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Markiertem Text einen Link hinterlegen


 
chrisonline
26-06-2002, 15:29 
 
Guten Tag

Ich möchte im Browser die Option anbieten, Text markieren zu könnnen, danach einen Button zu drücken welcher eine Funktion aufruft um dem markierten Text einen Link zu hinterlegen. Doch irgendwie klappt das nicht so ganz. Ich kriege immer die Fehlermeldung: Das Objekt unterstützt diese Eigenschaft oder Methode nicht. Hier der Quellcode der von Relevanz ist.

function createLink()
{
parent.ieEdit.focus();
var str = prompt("Wohin möchten Sie verlinken?", "http:\/\/www.domain.ch");

.....

else
{

if (window.getSelection) var sel = window.getSelection();
else if (parent.ieEdit.document.getSelection) var sel = parent.ieEdit.document.getSelection();
else if (parent.ieEdit.document.selection) var sel = parent.ieEdit.document.selection.createRange().text;

sel.pasteHTML("<A HREF=\"" + str + "\">" + sel + "</A> ");
sel.select();
}

Kann mir jemand weiterhelfen?

 
goth
26-06-2002, 15:31 
 
getSelection bezieht sich auf ListBoxen mir Mehrfachauswahl ... meines Wissens gibt's keine Möglichkeit mit JavaScript auf den selektieren Text zuzugreifen ...

 
chrisonline
26-06-2002, 15:46 
 
Doch der Zugriff klappt. Ich habs getestet mit einem Alert Fenster. Der markierte Text wird sauber ausgelesen. Das Problem liegt irgendwo bei sel.pasteHTML... Sobald ich diesen Teil einfüge erhalte ich die Fehlermeldung.

 
GWC
26-06-2002, 17:30 
 
Hi,
hab so ein Script aus einem Java Forum, es ist also NICHT von mir!
Dabei geht allerdings kein Prompt auf, sonder es werden 2 tags um das markierte gemacht.
Hoffe aber dass dir das weiterhilft.

Formular muss den Namen FORMULAR bekommen!

z.b. <form name=FORMULAR action=bla.php method=post>


Hier das Java Zeugsel

<script language="Javascript">
<!-- Kommentare für Browser, die kein Javascript unterstützen
// funktioniert nur im IE 4+

// Übergabeparameter:
// - form : Formularname
// - resultfield : Textareaname
// - tag : einzufügendes Tag

function insert_tags(form, resultfield, tag)
{
// Kompletter Inhalt des Textarea-Feldes
var FullString = resultfield.value;

// Ausgewählter Bereich als String
var SelectedString = document.selection.createRange().text;
if (!SelectedString)
alert("Bitte Text markieren!")
else
{
// Erstellung eines regulären Ausdrucks für den ausgewählten Bereich
var RegExpSelect = new RegExp(SelectedString, "gi")

// Hinzufügen der HTML-Tags
var ReplaceString = "["+tag+"]"+SelectedString+"[/"+tag+"]";

// Neuer String (kompl. Textarea-Feld)
var NewString = FullString.replace (RegExpSelect, ReplaceString);

// Text in den Textareabereich schreiben
resultfield.value = NewString;
}
document.FORMULAR.inhaltjava.focus();
}
-->
</script>


Das Textarea muss so aussehen:

<textarea name=inhaltjava cols=42 rows=10 class=feedback wrap=virtual></textarea>


Button, mit dem man den markierten Text "umtagt"

<input class=buttons type=button name=bold value=URL
onClick="javascript:insert_tags(FORMULAR,inhaltjava,'url')">

Das fette url gibt immer das tag an, welches eingefügt werden soll.
Anfangs- und Schlusstag müssen halt immer den gleichen string haben ;)

MfG


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49 Uhr.