我相信这是一个很普遍需要的功能。
客户提出要求:一份申报材料要能够满足客户端填写上传和网上填写上传,其中有一份个人业绩的说明。其中有一项功能是个人可以把自己比较突出的业绩加粗或者高亮显示。同时材料收下后,管理端和评审时候的Web端也要能够看见格式化的问题。
比较复杂的需求,客户端如果用RichTextEditor的RTF格式,可以实现高亮,但是转到网上显示的时候又需要做很多转化。因此我考虑整个文本都采用HTML格式进行流转。也就是使用DHTML 编辑器。但是这个编辑器既要网上可以用,也要客户端可以用。所以我考虑采用M$的DHTML Editor,查阅了相关资料后,发现代码非常的简单。我下面就以给文字加粗为例子说明各个操作。
客户端:VB开发
1 在Component里面选中DHTML Edit Control for IE 5
2 在Form上添加一个DHTML Edit的控件和两个按钮
3 VB代码
Private Sub Command1_Click()
DHTMLEdit1.ExecCommand DECMD_BOLD, OLECMDEXECOPT_DONTPROMPTUSER
End Sub
Private Sub Command2_Click()
Dim theHTML1 As String
theHTML1 = "The test paragraph"
DHTMLEdit1.DocumentHTML = theHTML1
End Sub
网上实例:
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
DECMD_BOLD = 5000;
OLECMDEXECOPT_DODEFAULT = 0;
function button1_onclick() {
DHTMLEdit1.ExecCommand(DECMD_BOLD,OLECMDEXECOPT_DODEFAULT);
}
function button2_onclick() {
DHTMLEdit1.DocumentHTML = "The test paragraph";
//DHTMLEdit1.DocumentHTML = "<P align=center><FONT size=7><STRONG>Hello, World!</STRONG></FONT></P>";
}
// -->
</SCRIPT>
<P align=center>
<INPUT id=button1 name=button1 type=button value=Bold LANGUAGE=javascript onclick="return button1_onclick()">
<INPUT id=button2 name=button2 type=button value=Set LANGUAGE=javascript onclick="return button2_onclick()">
</P>
<P align=center>
<OBJECT classid="clsid:2D360200-FFF5-11d1-8D03-00A0C959BC0A" id=DHTMLEdit1
height=400 width=500 VIEWASTEXT>
</OBJECT>
</P>
这里使用的是ActiveX控件,虽然感觉上没有纯JS的编辑器好,但是代码非常简单。值得的。