往多行文本框插入字符的问题

ssy888 2007-07-13 06:34:04
我要在后台文本框里编辑发布内容,就象有些论坛回帖发帖那样,可以编辑插入少许几种html元素例如链接,图片等。现在象象有几个难点要解决,一,怎么判断当前光标的位置,二,插入的html元素因该有些符号不能写入数据库,三,输入格式回行等(目前用插入</br>解决,不知道如何控制长度并自动回行)。

图片中content部分上面几个图片就是要插入的html按钮。
http://www.doornvogel.info/account/aspnet.jpg

等大大来指点,或哪有相关实例给格代码我参考下。
—————————————华丽的分割线——————————————————
google输入法虽然不错但是海不太习惯用。打着断化用了7分钟-。-
...全文
215 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
octverve 2007-07-13
  • 打赏
  • 举报
回复
弄个在线编辑器就完了吗,LZ,你也不搞组件开发的。够用就行了。

网上有都是,你还费这劲。
Jinglecat 2007-07-13
  • 打赏
  • 举报
回复
三,输入格式回行等(目前用插入</br>解决,不知道如何控制长度并自动回行)。
============
自动换行,一般通过css样式控制

<div style=word-break:break-all;with:200px>
.................................
</div>
  • 打赏
  • 举报
回复
三,输入格式回行等(目前用插入</br>解决,不知道如何控制长度并自动回行)。-->
//在文本框中输入数据,要求在输入一定长度后自动换行
Private Sub Text1_Change()

Static blnFlags As Boolean
Const TEXTLEN = 10

If blnFlags = False Then
blnFlags = True
Exit Sub
End If

Dim intPst As Integer
intPst = InStr(StrReverse(Text1.Text), StrReverse(vbCrLf))

If intPst > 0 Then
If intPst > TEXTLEN Then
blnFlags = False
Text1.Text = Text1.Text & vbCrLf
Text1.SelStart = Len(Text1.Text)
End If
Else
If Len(Text1.Text) >= TEXTLEN Then
blnFlags = False
Text1.Text = Text1.Text & vbCrLf
Text1.SelStart = Len(Text1.Text)
End If
End If

ssy888 2007-07-13
  • 打赏
  • 举报
回复
恩恩,周末了,星期一来结贴看答案
  • 打赏
  • 举报
回复
二,插入的html元素因该有些符号不能写入数据库-->
把字符串中的所有的' "替换成\' \"
回车转成<br/> 空格转成 
  • 打赏
  • 举报
回复
一,怎么判断当前光标的位置--->

<textarea rows=10 cols=100 onclick="getCursorPosition()">
北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。
</textarea>
<script language=JScript>
function getCursorPosition(){
var src = event.srcElement
var oTR = src.createTextRange()
var textLength = src.innerText.length
var line, char, total, cl
oTR.moveToPoint(window.event.x, window.event.y)
oTR.moveStart("character", -1*textLength)
cl = oTR.getClientRects()
line = cl.length
total = oTR.text.length
oTR.moveToPoint(cl[cl.length-1].left-2, cl[cl.length-1].top-2)
oTR.moveStart("character", -1*textLength)
char = total - oTR.text.length
alert("行: " + line +", 列: " + char + ", 第 " + total + " 个字符");
}
</SCRIPT>
Jinglecat 2007-07-13
  • 打赏
  • 举报
回复
mark

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧