TOP /リクエスト テキストエリアにタグを挿入する(IE専用)


font color
<script language="JavaScript"><!--
var n=0,s=0,l=0,flg=0,leng,temp_tag;

function text_position(){
var r=document.selection.createRange();
r.moveEnd("textedit");
n=r.text.length;
if(!flg){leng=n;}
flg=1;
l=0;
}
function text_insert(str1,str2){
var r=obj.comment.createTextRange();
r.collapse();
xx=obj.comment.value.length-n-l+leng;
t=obj.comment.value.substring(0,xx);
xx = t.match(/\n/g);
xx=(xx)?xx.length:0;
r.moveStart("character",obj.comment.value.length-n-l+leng-xx);
r.text=str1+str2;
l+=str2.length;
temp_tag=str2;
}

var obj;
function text_command(f,c){
obj=f;
if(!flg && document.all){
f.comment.focus();
text_position();
}
if(c=="b"){com1="<b>";com2="</b>"};
if(c=="i"){com1="<i>";com2="</i>"};
if(c=="u"){com1="<u>";com2="</u>"};
if(c=="e"){
com1="<br>";com2=""
if(l)l=0;
};
if(document.all){
if(l && temp_tag==com2)return;
text_insert(com1,com2);
}else{
f.comment.value += com1 + com2;
f.comment.focus();
}
}
function text_size(f,s){
obj=f;
if(!flg && document.all){
f.comment.focus();
text_position();
}
com1="<font size='"+ s +"'>";com2="</font>";
f.size_select.options[2].selected=true;
if(document.all){
if(l && temp_tag==com2)return;
text_insert(com1,com2);
}else{
f.comment.value += com1 + com2;
f.comment.focus();
}
}
function text_color(f,co){
obj=f;
if(!flg && document.all){
f.comment.focus();
text_position();
}
com1="<font color='"+ co +"'>";com2="</font >";
f.color_select.options[0].selected=true;
if(document.all){
if(l && temp_tag==com2)return;
text_insert(com1,com2);
}else{
f.comment.value += com1 + com2;
f.comment.focus();
}
}
function text_confirm(f){
if(document.all)
document.getElementById("confirm").innerHTML = f.comment.value;
}
/*himajin.moo.jp*/

// --></script>
<form>
<div id="confirm"style="display: none;_display:block;position :absolute;left:320px;width:400;height:150px;border: 1px solid gray;overflow-y:scroll;overflow-x:auto;">
<table border=0 width=100% height=100%>
<tr><td valign=center align=center>
確認画面
</td></tr></table>
</div>
<textarea name="comment" cols=40 rows=10 onmouseup="text_position()" onkeyup="text_position()"></textarea>
<br>
<input type=button onclick="text_command(this.form,'b');"value="B"style="font-weight: bold;width:16"title="太字"><input
 type=button onclick="text_command(this.form,'i');"value="I"style="font-style: italic;width:16"title="斜体"><input
 type=button onclick="text_command(this.form,'u');"value="U"style="text-decoration: underline;width:16"title="下線">
<font size=2 title="サイズ">font</font><select name="size_select"onchange="text_size(this.form,this.value)">
   <option value=1>1
   <option value=2>2
   <option value=3 selected>3
   <option value=4>4
   <option value=5>5
  </select>
<font size=2 title="色">color</font><select name="color_select"onchange="text_color(this.form,this.value)">
   <option value=black>black
   <option value=red style="color:red;">red
   <option value=blue style="color:blue;">blue
   <option value=orange style="color:orange;">orange
   <option value=green style="color:green;">green
  </select>
<input type=button onclick="text_command(this.form,'e');"value="改行">
<input type=button onclick="text_confirm(this.form);"value="確認"style="display: none;_display:inline;"title="確認画面に表示する">
</form>