mahedelMedlem sedan juli 2002105 inlägg
jag använder mig av denna kod:
exempel finns på: http://mahedel.mine.nu/komjunity/test1.php
<html>
<head>
<title>Test</title>
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; document.forms["form1"].elements["link"].value='';}
}
//-->
</script>
</HEAD>
<body bgcolor="#FFFFFF" text="#000000"
onLoad="MM_showHideLayers('linkadd','','hide')">
<form name="form1" method="post" action="">
<textarea name="textfalt" cols="50" rows="10"></textarea>
<input type="button" onclick="MM_showHideLayers('linkadd','','show')" value="Länk">
<div id="linkadd"><input type="text" name="link">
<input type="button" value="Lägg till" onclick="document.form1.textfalt.value+='<a href='+ document.form1.link.value +'>'+ do
<input type="button" value="Ångra" onclick="this.form.reset()">
<input type="button" value="Dölj" onclick="MM_showHideLayers('linkadd','','hide');">
</div>
</form>
</body>
</html>
men den insertar värdet man skriver in sist i textrutan.. jag vill att den ska infogas dikerkt där markören är... går det?
/MVH Martin
JohnsenMedlem sedan juli 2000718 inlägg
Prova detta:
<html>
<head>
<title>Test</title>
<script language="JavaScript">
<!--
function varEjag() {
minPos = document.selection.createRange();
}
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; document.forms["form1"].elements["link"].value='';}
}
//-->
</script>
</HEAD>
<body bgcolor="#FFFFFF" text="#000000"
onLoad="MM_showHideLayers('linkadd','','hide')">
<form name="form1" method="post" action="">
<textarea name="textfalt" cols="50" rows="10" onclick="varEjag();"></textarea>
<input type="button" onclick="MM_showHideLayers('linkadd','','show')" value="Länk">
<div id="linkadd"><input type="text" name="link">
<input type="button" value="Lägg till" onclick="minPos.text = '<a href='+ document.form1.link.value +'>'+ document.form1.link.value +'</a>';MM_showHideLayers('linkadd','','hide');">
<input type="button" value="Ångra" onclick="this.form.reset()">
<input type="button" value="Dölj" onclick="MM_showHideLayers('linkadd','','hide');">
</div>
</form>
</body>
</html>
Jesper TMedlem sedan nov. 20017 058 inlägg
Då står det: 'minPos' är odefinierad, rad 40
JohnsenMedlem sedan juli 2000718 inlägg
Men du måste ju markera textarean...
Men det går väl att ordna:
<html>
<head>
<title>Test</title>
<script language="JavaScript">
<!--
var minPos
function varEjag() {
minPos = document.selection.createRange();
}
function skrivLink(){
if(minPos){
minPos.text = '<a href='+ document.form1.link.value +'>'+ document.form1.link.value +'</a>'
}
else {
document.form1.textfalt.value += '<a href='+ document.form1.link.value +'>'+ document.form1.link.value +'</a>'
}
}
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; document.forms["form1"].elements["link"].value='';}
}
//-->
</script>
</HEAD>
<body bgcolor="#FFFFFF" text="#000000"
onLoad="MM_showHideLayers('linkadd','','hide')">
<form name="form1" method="post" action="">
<textarea name="textfalt" cols="50" rows="10" onclick="varEjag();"></textarea>
<input type="button" onclick="MM_showHideLayers('linkadd','','show')" value="Länk">
<div id="linkadd"><input type="text" name="link">
<input type="button" value="Lägg till" onclick="skrivLink(); MM_showHideLayers('linkadd','','hide');">
<input type="button" value="Ångra" onclick="this.form.reset()">
<input type="button" value="Dölj" onclick="MM_showHideLayers('linkadd','','hide');">
</div>
</form>
</body>
</html>