BB-Codes

ICPUI

Mitglied
Guten Tag
Bin am basteln von BB-Codes. Jetzt fehlen mir noch folgende Funktionen:

1. URL + Email (Im ersten alert sollte die URL und im zweiten der Name angegeben werden)

2. Aufzählung ( Es soll so lange alerts kommen, bis man auf abrechen klickt und jeden eintrag [li]EINTRAG[/li] eingetragen wird)

Thx schon für die Hilfe
mfg
ICPUI
 
Hi,

Javascript:
function url(textfield_reference) {
    var dest = prompt("Bitte Linkziel eingeben:");
    var descr = prompt("Bitte Beschreibung eingeben:");
    textfield_reference.value += '' + descr + '';
}

Javascript:
function getlist(textfield_reference) {
    var ostr = '';
    var ct= true;
    do {
        ct = prompt("Eintrag eingeben:");
        if (ct != null) ostr += '[LI]' + ct + '[/CT]';
    } while (ct);
    textfield_reference.value += '[UL]' + ostr + '[/UL]';
}

In etwa so was?

Gruß
.
 
Vielen Dank bis hierher :)

Leider hat es noch einen kleinen Mangel, nämlich, dass ich möchte das der Code nicht am Ende der textarea, sondern dort wo sich der Mauszeiger befindet, bzw falls etwas kopiert ist, über diesen Text drüber der Code eingefügt wird.

mfg
ICPUI
 
Zuletzt bearbeitet:
Hi,

... dann mach es doch einfach so wie bei Deinen bisherigen bbCode-Funktionen - ich habe hier nur exemplarisch ein Einfügen am Ende verwendet.

EDIT: Hier mal zwei Funktionen, die Dir wahrscheinlich helfen werden (Markierten Bereich zurückgeben bzw. ersetzen):
Javascript:
function insertText(str) {
	var obj = document.getElementById("content");
	if (typeof(obj.createTextRange) != "undefined" && obj.caretPos) {
		var cp = obj.caretPos;
		cp.text = cp.text.charAt(cp.text.length - 1) == ' ' ? str + ' ' : str;
		cp.select();
	} else if (obj.selectionStart || obj.selectionStart == '0') {
		var ss = obj.selectionStart;
		var es = obj.selectionEnd;
		var s = (obj.value).substring(0, ss);
		var m = str;
		var e = (obj.value).substring(es, obj.textLength);
		obj.value = s + m + e;
		obj.focus();
		obj.selectionStart = es + m.length;
		obj.selectionEnd = ss + m.length;
	} else {
		obj.value += str;
	}
}

function getSel() {
	var obj = document.getElementById("content");
	if (typeof(obj.createTextRange) != "undefined" && obj.caretPos) {
		var cp = obj.caretPos;
		return cp.text;
	} else if (obj.selectionStart || obj.selectionStart == '0') {
		var ss = obj.selectionStart;
		var es = obj.selectionEnd;
		return (obj.value).substring(ss, es);
	} else {
		return "";
	}
}
("content" ist hier die id des Eingabefelds)

Gruß
.
 

Neue Beiträge

Zurück