webForumDet fria alternativet

Infoga text före och efter

26 svar · 763 visningar · startad av learn · sida 2 av 2

learnMedlem sedan jan. 20051 130 inlägg
#21

å, sorry såg inte den.. Ska kika på det! tack

learnMedlem sedan jan. 20051 130 inlägg
#22

Hmm, nej det funkar inte.. händer inget i textarean när jag klickar på länkarna...

/red: Jo, jag klantade mig bara.. Tack!!

Peter SMedlem sedan dec. 20025 483 inlägg
#23

Red./ Du hann visst svara. :bire

learnMedlem sedan jan. 20051 130 inlägg
#24

Har nu upptäckt att det inte fungerar på IE... Så här ser koden ut:

var cPos,
    fObj,
    ieC = Boolean(document.selection && document.selection.createRange);

function makeHTML(b, a) {
    if (ieC && cPos && cPos.text.length > 0){
	cPos.text = b + cPos.text + a;
    } else if (window.HTMLTextAreaElement && fObj.selectionEnd - fObj.selectionStart > 0){
	fObj.value = fObj.value.substring(0, fObj.selectionStart)
			+ b
			+ fObj.value.substring(fObj.selectionStart, fObj.selectionEnd)
			+ a
			+ fObj.value.substring(fObj.selectionEnd);
    }
}

function insdlgtxt(adress,lank){
    if (ieC){
		if (typeof cPos != "undefined"){
			cPos.text = lank;
		} else {
			fObj.value += lank;
		}

    } else if (typeof window.HTMLTextAreaElement != "undefined"){

		if ((lank==null)||(lank=="")) {
			lank = adress;
		}

		fObj.value = fObj.value.substring(0, fObj.selectionStart) + "[L='" + adress + "']" + lank + "[/L]" + fObj.value.substring(fObj.selectionEnd);

    } else {
		fObj.value += lank;
    }
}

function sC() {
    cPos = document.selection.createRange().duplicate();
}

function opendlg(){
    var adress = window.prompt("Mata in adressen", "http://");
    var lank = window.prompt("Mata in länktexten (valfritt)", "");

    if (adress != null && adress.replace(/(^\s+)|(\s+$)/g, "").length > 0) {
	insdlgtxt(adress,lank);
    }
}

window.onload = function() {
    fObj = document.forms["page_form"].elements["txt"];

    if (ieC) {
	fObj.onclick  = function() { sC(); }
	fObj.onkeyup  = function() { sC(); }
	fObj.onselect = function() { sC(); }
    }
}

Det som inte fungerar i IE är "infoga länk". När jag matat in adress+länknamn så skrivs endast länknamnet ut i textarean, inte det som ska vara före och efter...!

learnMedlem sedan jan. 20051 130 inlägg
#25

Ingen som kan hjälpa mig med ovanstående problem?? Tack på förhand!

Peter SMedlem sedan dec. 20025 483 inlägg
#26
<script type="text/javascript">

var cPos,
    fObj,
    ieC = Boolean(document.selection && document.selection.createRange);

function instag(b, a) {
    if (ieC && cPos && cPos.text.length > 0){
	cPos.text = b + cPos.text + a;
    } else if (window.HTMLTextAreaElement && fObj.selectionEnd - fObj.selectionStart > 0){
	fObj.value = fObj.value.substring(0, fObj.selectionStart)
			+ b
			+ fObj.value.substring(fObj.selectionStart, fObj.selectionEnd)
			+ a
			+ fObj.value.substring(fObj.selectionEnd);
    }
}

function insdlgtxt(adr, lnk){
    if (!lnk){ lnk = adr }

    if (ieC){
	if (typeof cPos != "undefined"){
	    cPos.text = "[L=" + adr + "]" + lnk + "[/L]";
	} else {
	    fObj.value += "[L=" + adr + "]" + lnk + "[/L]";
	}
    } else if (typeof window.HTMLTextAreaElement != "undefined"){
	fObj.value = fObj.value.substring(0, fObj.selectionStart) + "[L=" + adr + "]" + lnk + "[/L]" + fObj.value.substring(fObj.selectionEnd);
    } else {
	fObj.value += "[L=" + adr + "]" + lnk + "[/L]";
    }
}

function sC() {
    cPos = document.selection.createRange().duplicate();
}

function opendlg(){
    var adress = window.prompt("Mata in en text", "");
    var lank   = window.prompt("Mata in länktexten (valfritt)", "");

    if (adress != null && adress.replace(/(^\s+)|(\s+$)/g, "").length > 0){
	insdlgtxt(adress, lank);
    }
}

window.onload = function() {
    fObj = document.forms["vbform"].elements["message"];

    if (ieC) {
	fObj.onclick  = function() { sC(); }
	fObj.onkeyup  = function() { sC(); }
	fObj.onselect = function() { sC(); }
    }
}

</script>

<a href="#" onclick="instag('<strong>','</strong>'); return false;">strong</a>

<form name="vbform">
	<textarea cols="20" rows="5" name="message"></textarea>
</form>

<a href="javascript:void(opendlg())">dlg</a>
learnMedlem sedan jan. 20051 130 inlägg
#27

Tack, ska testa när jag kommer hem.

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)