Dec
11
Javascript 插入UBB标签到表单、文本域、函数
摘要:
本文演示了使用 JS函数 动态插入 UBB 标签到 表单文本域的操作.
本文并没有演示进行 UBB 标签转换为 HTML 标签的操作
说明:
HTML编辑器需要ActiveX支持, 并不是所有浏览器都支持, 比如Opera.
因此对于HTML编辑器和UBB编辑器, 两者我选择 UBB, 因为鄙人习惯使用 OPERA 浏览器, 写的东西当然也得适用于Opera.
话外音: 使用Opera会上瘾, 定力不足者不可乱试:)
目录:
1. Javascript 插入 UBB标签 到表单 文本域 函数
<script type="text/javascript">
//<![CDATA[Subject:Javascript 插入 UBB标签 到表单 文本域 函数 及演示
//表单 必须有 ID, 文件域 name 必须为 content
//------------------------------------start 例子
//<form action="" method="post" name="ubbForm" id="ubbForm">
//<input type="button" value="code" onclick="ubbTag(this.form.id,'[code]')" /><br/>
//<textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
//<input type="submit" name="Submit" value="Submit" />
//<input type="reset" name="Reset" value="Reset" />
//</form>
//-------------------------------------end 例子
function ubbTag(fId, str){
document.getElementById(fId).content.focus();
var strEnd=str.replace(/\[/ig,'[/');
if (strEnd.indexOf('=')>-1){
strEnd=strEnd.replace(/(.*?)\=.*?(\])/,'$1$2');
}
if((document.selection)&&(document.selection.type== "Text")){
var oStr=document.selection.createRange();
oStr.text=str+oStr.text+strEnd
}else{
document.getElementById(fId).content.value+=str+strEnd
}
}
//]]>
</script>
<form action="" method="post" name="ubbForm" id="ubbForm">
<select onchange="ubbTag(this.form.id,'['+this.value+']')">
<option value="h6">h6</option>
<option value="h5">h5</option>
<option value="h4">h4</option>
<option value="h3">h3</option>
<option value="h2">h2</option>
<option value="h1">h1</option>
<option value="h1" selected="selected">font size</option>
</select>
<select onchange="ubbTag(this.form.id,'[color='+this.value+']')">
<option value="black">color</option>
<option value="black" style="background-color:black; color:#FFFFFF;">black</option>
<option value="blue" style="background-color:blue; color:#FFFFFF;">blue</option>
<option value="fuchsia" style="background-color:fuchsia; color:#FFFFFF;">fuchsia</option>
<option value="gray" style="background-color:gray; color:#FFFFFF;">gray</option>
<option value="green" style="background-color:green; color:#FFFFFF;">green</option>
<option value="lime" style="background-color:lime;">lime</option>
<option value="maroon" style="background-color:maroon; color:#FFFFFF;">maroon</option>
<option value="navy" style="background-color:navy; color:#FFFFFF;">navy</option>
<option value="olive" style="background-color:olive; color:#FFFFFF;">olive</option>
<option value="orange" style="background-color:orange; color:#FFFFFF;">orange</option>
<option value="purple" style="background-color:purple; color:#FFFFFF;">purple</option>
<option value="red" style="background-color:red; color:#FFFFFF;">red</option>
<option value="silver" style="background-color:silver; color:#FFFFFF;">silver</option>
<option value="teal" style="background-color:teal; color:#FFFFFF;">teal</option>
<option value="white" style="background-color:white;">white</option>
<option value="yellow"style="background-color:yellow;">yellow</option>
</select>
<input type="button" value="url" onclick="ubbTag(this.form.id,'[url]')"/>
<input type="button" value="img" onclick="ubbTag(this.form.id,'[img]')"/>
<input type="button" value="email" onclick="ubbTag(this.form.id,'[email]')"/>
<input type="button" value="code" onclick="ubbTag(this.form.id,'[code]')" />
<input type="button" value="quote" onclick="ubbTag(this.form.id,'[quote]')"/>
<input type="button" value="cite" onclick="ubbTag(this.form.id,'[cite]')"/>
<input type="button" value="linenum" onclick="ubbTag(this.form.id,'[linenum]')"/>
<input type="button" value="b" onclick="ubbTag(this.form.id,'[b]')"/>
<input type="button" value="left" onclick="ubbTag(this.form.id,'[align=left]')"/>
<input type="button" value="center" onclick="ubbTag(this.form.id,'[align=center]')"/>
<input type="button" value="right" onclick="ubbTag(this.form.id,'[align=right]')"/>
<input type="button" value="textarea" onclick="ubbTag(this.form.id,'[textarea]')"/>
<input type="button" value="pre" onclick="ubbTag(this.form.id,'[pre]')"/>
<input type="button" value="sub" onclick="ubbTag(this.form.id,'[sub]')"/>
<input type="button" value="sup" onclick="ubbTag(this.form.id,'[sup]')"/>
<input type="button" value="abbr" onclick="ubbTag(this.form.id,'[abbr]')"/>
<input type="button" value="address" onclick="ubbTag(this.form.id,'[address]')"/>
<input type="button" value="dl" onclick="ubbTag(this.form.id,'[dl][dd]')"/>
<input type="button" value="dt" onclick="ubbTag(this.form.id,'[dt]')"/>
<input type="button" value="dd" onclick="ubbTag(this.form.id,'[dd]')"/>
<input type="button" value="nl" onclick="ubbTag(this.form.id,'[nl][li]')"/>
<input type="button" value="ol" onclick="ubbTag(this.form.id,'[ol][li]')"/>
<input type="button" value="ul" onclick="ubbTag(this.form.id,'[ul][li]')"/>
<input type="button" value="li" onclick="ubbTag(this.form.id,'[li]')"/>
<input type="button" value="floatleft" onclick="ubbTag(this.form.id,'[float=left]')"/>
<input type="button" value="floatright" onclick="ubbTag(this.form.id,'[float=right]')"/>
<input type="button" value="tagLink" onclick="ubbTag(this.form.id,'[taglink]')"/>
<input type="button" value="glLink" onclick="ubbTag(this.form.id,'[gllink]')"/><br/>
<textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
<input type="submit" name="Submit" value="Submit"/>
<input type="reset" name="Reset" value="Reset"/>
</form>
本文演示了使用 JS函数 动态插入 UBB 标签到 表单文本域的操作.
本文并没有演示进行 UBB 标签转换为 HTML 标签的操作
说明:
HTML编辑器需要ActiveX支持, 并不是所有浏览器都支持, 比如Opera.
因此对于HTML编辑器和UBB编辑器, 两者我选择 UBB, 因为鄙人习惯使用 OPERA 浏览器, 写的东西当然也得适用于Opera.
话外音: 使用Opera会上瘾, 定力不足者不可乱试:)
目录:
1. Javascript 插入 UBB标签 到表单 文本域 函数
<script type="text/javascript">
//<![CDATA[Subject:Javascript 插入 UBB标签 到表单 文本域 函数 及演示
//表单 必须有 ID, 文件域 name 必须为 content
//------------------------------------start 例子
//<form action="" method="post" name="ubbForm" id="ubbForm">
//<input type="button" value="code" onclick="ubbTag(this.form.id,'[code]')" /><br/>
//<textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
//<input type="submit" name="Submit" value="Submit" />
//<input type="reset" name="Reset" value="Reset" />
//</form>
//-------------------------------------end 例子
function ubbTag(fId, str){
document.getElementById(fId).content.focus();
var strEnd=str.replace(/\[/ig,'[/');
if (strEnd.indexOf('=')>-1){
strEnd=strEnd.replace(/(.*?)\=.*?(\])/,'$1$2');
}
if((document.selection)&&(document.selection.type== "Text")){
var oStr=document.selection.createRange();
oStr.text=str+oStr.text+strEnd
}else{
document.getElementById(fId).content.value+=str+strEnd
}
}
//]]>
</script>
<form action="" method="post" name="ubbForm" id="ubbForm">
<select onchange="ubbTag(this.form.id,'['+this.value+']')">
<option value="h6">h6</option>
<option value="h5">h5</option>
<option value="h4">h4</option>
<option value="h3">h3</option>
<option value="h2">h2</option>
<option value="h1">h1</option>
<option value="h1" selected="selected">font size</option>
</select>
<select onchange="ubbTag(this.form.id,'[color='+this.value+']')">
<option value="black">color</option>
<option value="black" style="background-color:black; color:#FFFFFF;">black</option>
<option value="blue" style="background-color:blue; color:#FFFFFF;">blue</option>
<option value="fuchsia" style="background-color:fuchsia; color:#FFFFFF;">fuchsia</option>
<option value="gray" style="background-color:gray; color:#FFFFFF;">gray</option>
<option value="green" style="background-color:green; color:#FFFFFF;">green</option>
<option value="lime" style="background-color:lime;">lime</option>
<option value="maroon" style="background-color:maroon; color:#FFFFFF;">maroon</option>
<option value="navy" style="background-color:navy; color:#FFFFFF;">navy</option>
<option value="olive" style="background-color:olive; color:#FFFFFF;">olive</option>
<option value="orange" style="background-color:orange; color:#FFFFFF;">orange</option>
<option value="purple" style="background-color:purple; color:#FFFFFF;">purple</option>
<option value="red" style="background-color:red; color:#FFFFFF;">red</option>
<option value="silver" style="background-color:silver; color:#FFFFFF;">silver</option>
<option value="teal" style="background-color:teal; color:#FFFFFF;">teal</option>
<option value="white" style="background-color:white;">white</option>
<option value="yellow"style="background-color:yellow;">yellow</option>
</select>
<input type="button" value="url" onclick="ubbTag(this.form.id,'[url]')"/>
<input type="button" value="img" onclick="ubbTag(this.form.id,'[img]')"/>
<input type="button" value="email" onclick="ubbTag(this.form.id,'[email]')"/>
<input type="button" value="code" onclick="ubbTag(this.form.id,'[code]')" />
<input type="button" value="quote" onclick="ubbTag(this.form.id,'[quote]')"/>
<input type="button" value="cite" onclick="ubbTag(this.form.id,'[cite]')"/>
<input type="button" value="linenum" onclick="ubbTag(this.form.id,'[linenum]')"/>
<input type="button" value="b" onclick="ubbTag(this.form.id,'[b]')"/>
<input type="button" value="left" onclick="ubbTag(this.form.id,'[align=left]')"/>
<input type="button" value="center" onclick="ubbTag(this.form.id,'[align=center]')"/>
<input type="button" value="right" onclick="ubbTag(this.form.id,'[align=right]')"/>
<input type="button" value="textarea" onclick="ubbTag(this.form.id,'[textarea]')"/>
<input type="button" value="pre" onclick="ubbTag(this.form.id,'[pre]')"/>
<input type="button" value="sub" onclick="ubbTag(this.form.id,'[sub]')"/>
<input type="button" value="sup" onclick="ubbTag(this.form.id,'[sup]')"/>
<input type="button" value="abbr" onclick="ubbTag(this.form.id,'[abbr]')"/>
<input type="button" value="address" onclick="ubbTag(this.form.id,'[address]')"/>
<input type="button" value="dl" onclick="ubbTag(this.form.id,'[dl][dd]')"/>
<input type="button" value="dt" onclick="ubbTag(this.form.id,'[dt]')"/>
<input type="button" value="dd" onclick="ubbTag(this.form.id,'[dd]')"/>
<input type="button" value="nl" onclick="ubbTag(this.form.id,'[nl][li]')"/>
<input type="button" value="ol" onclick="ubbTag(this.form.id,'[ol][li]')"/>
<input type="button" value="ul" onclick="ubbTag(this.form.id,'[ul][li]')"/>
<input type="button" value="li" onclick="ubbTag(this.form.id,'[li]')"/>
<input type="button" value="floatleft" onclick="ubbTag(this.form.id,'[float=left]')"/>
<input type="button" value="floatright" onclick="ubbTag(this.form.id,'[float=right]')"/>
<input type="button" value="tagLink" onclick="ubbTag(this.form.id,'[taglink]')"/>
<input type="button" value="glLink" onclick="ubbTag(this.form.id,'[gllink]')"/><br/>
<textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
<input type="submit" name="Submit" value="Submit"/>
<input type="reset" name="Reset" value="Reset"/>
</form>
让插入到 innerHTML 中的 script 跑起来
Javascript与CSS在IE和Firefox中的误区及区别


