Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu

Subject: Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu


摘要: 
本文演示了使用 JS函数 动态插入 UBB 标签到 表单文本域的操作.
本文并没有演示进行 UBB 标签转换为 HTML 标签的操作

说明:
HTML编辑器需要ActiveX支持, 并不是所有浏览器都支持, 比如Opera. 

因此对于HTML编辑器和UBB编辑器, 两者我选择 UBB, 因为鄙人习惯使用 OPERA 浏览器, 写的东西当然也得适用于Opera.

话外音: 使用Opera会上瘾, 定力不足者不可乱试:)

目录:
1. Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu 代码
2. 预览

shawl.qiu
2006-10-07
  http://blog.csdn.net/btbtd

1. Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu 代码
    
    
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[ Subject: Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu
  4. //表单 必须有 ID, 文件域 name 必须为 content
  5. //------------------------------------start 例子
  6. //<form action="" method="post" name="ubbForm" id="ubbForm">
  7. // <input type="button" value="code" οnclick="ubbTag(this.form.id,'[code]')" /><br/>
  8. // <textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
  9. // <input type="submit" name="Submit" value="Submit" />
  10. // <input type="reset" name="Reset" value="Reset" />
  11. //</form>
  12. //-------------------------------------end 例子
  13. function ubbTag(fId, str){
  14. document.getElementById(fId).content.focus();
  15. var strEnd=str.replace(//[/ig,'[/')
  16. if (strEnd.indexOf('=')>-1){
  17. strEnd=strEnd.replace(/(.*?)/=.*?(/])/,'$1$2')
  18. }
  19. if((document.selection)&&(document.selection.type== "Text")){
  20. var oStr=document.selection.createRange();
  21. oStr.text=str+oStr.text+strEnd
  22. } else {
  23. document.getElementById(fId).content.value+=str+strEnd
  24. }
  25. }
  26. //]]>
  27. </script>
  28. <form action="" method="post" name="ubbForm" id="ubbForm">
  29. <select οnchange="ubbTag(this.form.id,'['+this.value+']')">
  30. <option value="h6">h6</option>
  31. <option value="h5">h5</option>
  32. <option value="h4">h4</option>
  33. <option value="h3">h3</option>
  34. <option value="h2">h2</option>
  35. <option value="h1">h1</option>
  36. <option value="h1" selected="selected">font size</option>
  37. </select>
  38. <select οnchange="ubbTag(this.form.id,'[color='+this.value+']')">
  39. <option value="black">color</option>
  40. <option value="black" style="background-color:black; color:#FFFFFF;">black</option>
  41. <option value="blue" style="background-color:blue; color:#FFFFFF;">blue</option>
  42. <option value="fuchsia" style="background-color:fuchsia; color:#FFFFFF;">fuchsia</option>
  43. <option value="gray" style="background-color:gray; color:#FFFFFF;">gray</option>
  44. <option value="green" style="background-color:green; color:#FFFFFF;">green</option>
  45. <option value="lime" style="background-color:lime;">lime</option>
  46. <option value="maroon" style="background-color:maroon; color:#FFFFFF;"> maroon </option>
  47. <option value="navy" style="background-color:navy; color:#FFFFFF;">navy</option>
  48. <option value="olive" style="background-color:olive; color:#FFFFFF;">olive</option>
  49. <option value="orange" style="background-color:orange; color:#FFFFFF;">orange</option>
  50. <option value="purple" style="background-color:purple; color:#FFFFFF;">purple</option>
  51. <option value="red" style="background-color:red; color:#FFFFFF;">red</option>
  52. <option value="silver" style="background-color:silver; color:#FFFFFF;">silver</option>
  53. <option value="teal" style="background-color:teal; color:#FFFFFF;">teal</option>
  54. <option value="white" style="background-color:white;">white</option>
  55. <option value="yellow"style="background-color:yellow;">yellow</option>
  56. </select>
  57. <input type="button" value="url" οnclick="ubbTag(this.form.id,'[url]')"/>
  58. <input type="button" value="img" οnclick="ubbTag(this.form.id,'[img]')"/>
  59. <input type="button" value="email" οnclick="ubbTag(this.form.id,'[email]')"/>
  60. <input type="button" value="code" οnclick="ubbTag(this.form.id,'[code]')" />
  61. <input type="button" value="quote" οnclick="ubbTag(this.form.id,'[quote]')"/>
  62. <input type="button" value="cite" οnclick="ubbTag(this.form.id,'[cite]')"/>
  63. <input type="button" value="linenum" οnclick="ubbTag(this.form.id,'[linenum]')"/>
  64. <input type="button" value="b" οnclick="ubbTag(this.form.id,'[b]')"/>
  65. <input type="button" value="left" οnclick="ubbTag(this.form.id,'[align=left]')"/>
  66. <input type="button" value="center" οnclick="ubbTag(this.form.id,'[align=center]')"/>
  67. <input type="button" value="right" οnclick="ubbTag(this.form.id,'[align=right]')"/>
  68. <input type="button" value="textarea" οnclick="ubbTag(this.form.id,'[textarea]')"/>
  69. <input type="button" value="pre" οnclick="ubbTag(this.form.id,'[pre]')"/>
  70. <input type="button" value="sub" οnclick="ubbTag(this.form.id,'[sub]')"/>
  71. <input type="button" value="sup" οnclick="ubbTag(this.form.id,'[sup]')"/>
  72. <input type="button" value="abbr" οnclick="ubbTag(this.form.id,'[abbr]')"/>
  73. <input type="button" value="address" οnclick="ubbTag(this.form.id,'[address]')"/>
  74. <input type="button" value="dl" οnclick="ubbTag(this.form.id,'[dl][dd]')"/>
  75. <input type="button" value="dt" οnclick="ubbTag(this.form.id,'[dt]')"/>
  76. <input type="button" value="dd" οnclick="ubbTag(this.form.id,'[dd]')"/>
  77. <input type="button" value="nl" οnclick="ubbTag(this.form.id,'[nl][li]')"/>
  78. <input type="button" value="ol" οnclick="ubbTag(this.form.id,'[ol][li]')"/>
  79. <input type="button" value="ul" οnclick="ubbTag(this.form.id,'[ul][li]')"/>
  80. <input type="button" value="li" οnclick="ubbTag(this.form.id,'[li]')"/>
  81. <input type="button" value="floatleft" οnclick="ubbTag(this.form.id,'[float=left]')"/>
  82. <input type="button" value="floatright" οnclick="ubbTag(this.form.id,'[float=right]')"/>
  83. <input type="button" value="tagLink" οnclick="ubbTag(this.form.id,'[taglink]')"/>
  84. <input type="button" value="glLink" οnclick="ubbTag(this.form.id,'[gllink]')"/> <br/>
  85. <textarea name="content" cols="80" rows="10">aaaaaaaaaa</textarea><br/>
  86. <input type="submit" name="Submit" value="Submit" />
  87. <input type="reset" name="Reset" value="Reset" />
  88. </form>

2. 预览
<script type="text/javascript"> // //
//
// // // //-------------------------------------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>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值