å, sorry såg inte den.. Ska kika på det! tack
Infoga text före och efter
26 svar · 763 visningar · startad av learn · sida 2 av 2
Hmm, nej det funkar inte.. händer inget i textarean när jag klickar på länkarna...
/red: Jo, jag klantade mig bara.. Tack!!
Red./ Du hann visst svara. :bire
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...!
Ingen som kan hjälpa mig med ovanstående problem?? Tack på förhand!
<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>
Tack, ska testa när jag kommer hem.