修改textarea 宽度中的内容

博客分类:
* 替换textarea中的选中的文字
* @param {Object} replaceStr
* @return {TypeName}
var replaceText = function(replaceStr) {
var textarea = top.document.getElementById('content');
var rangeData = getCursorPosition(textarea);
if (rangeData == null) {
var i = rangeData.
var all = textarea.
var temp1 = all.substring(0, i);
var temp2 = all.substring(i);
var temp3 = replaceStr + temp2.substring(rangeData.text.length);
textarea.value = temp1 + temp3;
* 获取textarea中的选中的文字
* @param {Object} textarea
* @return {TypeName}
var getCursorPosition = function(textarea) {
var rangeData = {
text : "",
start : 0,
textarea.focus();
if (textarea.setSelectionRange) { // W3C
rangeData.start = textarea.selectionS
rangeData.end = textarea.selectionE
rangeData.text = (rangeData.start != rangeData.end) ? textarea.value
.substring(rangeData.start, rangeData.end) : "";
} else if (top.document.selection) { // IE
var i, oS = top.document.selection.createRange(),
// Don't: oR = textarea.createTextRange()
oR = top.document.body.createTextRange();
oR.moveToElementText(textarea);
rangeData.text = oS.
rangeData.bookmark = oS.getBookmark();
// object.moveStart(sUnit [, iCount])
// Return Value: Integer that returns the number of units moved.
for (i = 0; oR.compareEndPoints('StartToStart', oS) & 0
&& oS.moveStart("character", -1) !== 0; i++) {
// Why? You can alert(textarea.value.length)
if (textarea.value.charAt(i) == '\n') {
rangeData.start =
rangeData.end = rangeData.text.length + rangeData.
if (rangeData.text == ""
|| (rangeData.text.length + 2) == textarea.value.length) {
return rangeD
var ContentCurrentPostion= //记录当前位置,如果是IE记录的应该是一个rang范围,firefox则记录的是一个位置值
* 记录插入位置
* @param {Object} obj
var GetTextAreaPostion = function(obj){
if(document.selection){
obj.focus();
ContentCurrentPostion=document.selection.createRange();
else if(obj.selectionStart||obj.selectionStart=='0'){
var startPos=obj.selectionS
var endPos=obj.selectionE
ContentCurrentPostion=new Object();
ContentCurrentPostion.startPos=startP
ContentCurrentPostion.endPos=endP
ContentCurrentPostion=
* @param {Object} value
* @param {Object} id
var SetContent = function(value)
var textarea = top.document.getElementById('content');
GetTextAreaPostion(textarea);
if(ContentCurrentPostion!=null) {
textarea.focus();
if(document.selection) {
ContentCurrentPostion.text=
var startPos=ContentCurrentPostion.startP
var endPos=ContentCurrentPostion.endP
textarea.value = textarea.value.substring(0,startPos) + str + textarea.value.substring(endPos,textarea.value.length);
textarea.value+=
浏览: 121018 次
来自: 北京
请问,为什么我压缩后,压缩文件为空。原文件是有值的。????
var zNodes =[
{ name:&父 ...
VO--》BO--》PO,呵呵
帅哥,能整成文档上传个附件不?
Word版的也行啊,我再把它转 ...
不行啊!报 document.all.WebBrowser.E ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'下拉选择改变textarea框内容
下拉选择改变textarea框内容
演示效果:在下拉杠中选择看下面的文本框的变化
代码提示:下面的内容根据下拉框的不同而不同
将下面的代码复制到〈BODY〉区
&script language="javascript"&
function SetDownMsg(s) {
var strMode, strM
strMode = s.options[s.selectedIndex].
if (strMode == "DBUpdate") strMsg = "论坛正在升级数据库中……,请等待。";
if (strMode == "bbsUpdate") strMsg = "论坛正在升级中……,暂时关闭,请等待几分钟。";
if (strMode == "bbsAdjust") strMsg = "论坛正在调整中,暂时无法访问。";
if (strMode == "Other") strMsg = "论坛由于特殊原因暂时关闭,谢谢你的支持!";
if (s.selectedIndex != 0) document.form1.DownMessage.value = strM
&form action="admin.asp" method="post" name="form1"&
&textarea cols="75" rows="10" name="DownMessage" wrap="soft"&&/textarea&
&center&预定模式:
&select name="StopMode" onchange="SetDownMsg(this)"&
&option value="nouse"&请选择...&/option&
&option value="DBUpdate"&数据库升级&/option&
&option value="bbsUpdate"&论坛升级中&/option&
&option value="bbsAdjust"&论坛调整中&/option&
&option value="Other"&其他原因...&/option&帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:3&分页:rdsky发信人: rdsky (rdsky), 信区: WebDev
标&&题: ajax使用innerHTML更新textarea的内容,一旦手动修改textarea之
发信站: 水木社区 (Wed Jul 19 16:02:23 2017), 站内 && 在chrome浏览器中,下面的AJAX代码,开始的时候AJAX返回后能动态修改responsedata中的内容。但是一旦我手工修改responsedata中的内容,后面AJAX返回后responsedata永远不修改了,这是什么原因呢。 && &textarea id=responsedata style="width:500"&&/textarea& && xmlhttp.onreadystatechange = function()
{ &&&& if (xmlhttp.readyState==4 && xmlhttp.status==200) &&&& { &&&&&&&& document.getElementById("responsedata").innerHTML = xmlhttp.responseT &&&& }
※ 修改:·rdsky 于 Jul 19 16:03:24 2017 修改本文·[FROM: 124.42.13.*]
※ 来源:·水木社区 ·[FROM: 124.42.13.*]
好警察发信人: Eliot (好警察), 信区: WebDev
标&&题: Re: 主题:ajax使用innerHTML更新textarea的内容,一旦手动修改textarea之
发信站: 水木社区 (Wed Jul 19 16:06:34 2017), 站内 && .value不是.innerHtml吧
【 在 rdsky 的大作中提到: 】
: 在chrome浏览器中,下面的AJAX代码,开始的时候AJAX返回后能动态修改responsedata中的内容。但是一旦我手工修改responsedata中的内容,后面AJAX返回后responsedata永远不修改了,这是什么原因呢。
: &textarea id=responsedata style="width:500"&&/textarea&
: ...................
--来自微水木3.3.5
-- && ※ 来源:·水木社区 ·[FROM: 117.136.38.*]
rdsky发信人: rdsky (rdsky), 信区: WebDev
标&&题: Re: 主题:ajax使用innerHTML更新textarea的内容,一旦手动修改t
发信站: 水木社区 (Wed Jul 19 16:59:36 2017), 站内 && 修改成value就可以了,多谢了哈。 && 【 在 Eliot 的大作中提到: 】
: .value不是.innerHtml吧
&& -- && ※ 来源:·水木社区 ·[FROM: 124.42.13.*]
文章数:3&分页:jquery操作textarea,要对textarea里面的内容操作样式的 - ITeye问答
var fontElement = document.createElement("font");
& var content = document.createTextNode("a");
& $(fontElement).append(content);
& $("#textAreaId").append(fontElement);
我用上面这个方法,在IE中能够将a添加到textarea里面,并且通过font操作a的样式,但是,换到火狐,连文本a都无法显示到textarea中,更别说操作样式了!
我们可以通过$("#textAreaId").val来获取和设置textarea里面的值,但是这样却不符合我的要求,我除了把值设置进去之外,还要能够对它的样式进行操作。
貌似Textarea不能实现。
估计你是想要富文本编辑框,你可以去google搜索一下,现在有很多功能强大的富文本编辑器,比如FCK、Xheditor
如果要自己实现,可以采用可编辑的iframe来实现,具体实现方式google上可以查到
参考TextRange对象
已解决问题
未解决问题

我要回帖

更多关于 textarea 宽度 的文章

 

随机推荐