找回密码
 加入
搜索
查看: 9000|回复: 11

[IE类操作] textarea中插入html代码的问题,弄了好几天了

  [复制链接]
发表于 2013-1-23 11:45:44 | 显示全部楼层 |阅读模式
我要输入html代码到textarea控件中,用过_IEDocInsertHTML和_IEPropertySet($message, "innerhtml",$str)等方法,只有在纯文本的时候,会不报错,如果一般带上html标记,就报错,弄了好几天了,求高人指点,谢谢
发现了一个类似的帖子,无人回复
http://www.autoitx.com/forum.php ... ;highlight=textarea
还有一个已解决的帖子,标记的已解决,但里面什么解决的内容都没有
http://www.autoitx.com/forum.php ... ;highlight=textarea
发表于 2013-1-23 11:47:28 | 显示全部楼层
报什么错? 你的源代码呢. 另外 在哪个 textarea 中输入?
 楼主| 发表于 2013-1-23 12:29:22 | 显示全部楼层
原始网页的代码
<div id="rstnotice" class="ntc_l bbs" style="display:none">
<a href="javascript:;" title="清除内容" class="d y" onclick="userdataoption(0)">close</a>您有上次未提交成功的数据 <a class="xi2" href="javascript:;" onclick="userdataoption(1)"><strong>恢复数据</strong></a>
</div>

<div class="area">
<textarea name="message" id="e_textarea" class="pt" rows="15" tabindex="2"></textarea>
</div><link rel="stylesheet" type="text/css" href="data/cache/style_3_editor.css?Tbu" />
<script src="static/js/editor.js?Tbu" type="text/javascript"></script>
<script src="static/js/bbcode.js?Tbu" type="text/javascript"></script>
<script type="text/javascript">
var editorid = 'e';
var textobj = $(editorid + '_textarea');
var wysiwyg = (BROWSER.ie || BROWSER.firefox || (BROWSER.opera >= 9)) && parseInt('1') == 1 ? 1 : 0;
var allowswitcheditor = parseInt('1');
var allowhtml = parseInt('1');
var allowsmilies = parseInt('1');
var allowbbcode = parseInt('1');
var allowimgcode = parseInt('1');
var simplodemode = parseInt('0');
var fontoptions = new Array("宋体", "新宋体", "黑体", "微软雅黑", "Arial", "Verdana", "Mingliu", "Helvetica", "Trebuchet MS", "Tahoma", "Impact", "Times New Roman", "仿宋,仿宋_GB2312", "楷体,楷体_GB2312");
var smcols = 8;
var custombbcodes = new Array();
</script>

<div id="e_bbar" class="bbar">
<em id="e_tip"></em>
<span id="e_svdsecond"></span>
<a href="javascript:;" onclick="discuzcode('svd');return false;" id="e_svd">保存数据</a> |
<a href="javascript:;" onclick="discuzcode('rst');return false;" id="e_rst">恢复数据</a>   
<a href="javascript:;" onclick="discuzcode('chck');return false;" id="e_chck">字数检查</a> |
<a href="javascript:;" onclick="discuzcode('tpr');return false;" id="e_tpr">清除内容</a>   
<span id="e_resize"><a href="javascript:;" onclick="editorsize('+');return false;">加大编辑框</a> | <a href="javascript:;" onclick="editorsize('-');return false;">缩小编辑框</a><img src="static/image/editor/resize.gif" onmousedown="editorresize(event)" /></span>
</div></div>
<div id="post_extra" class="ptm cl">
<div id="post_extra_tb" class="cl" onselectstart="return false">
<label id="extra_replycredit_b" onclick="showExtra('extra_replycredit')"><span id="extra_replycredit_chk">回帖奖励</span></label>
<label id="extra_readperm_b" onclick="showExtra('extra_readperm')"><span id="extra_readperm_chk">阅读权限</span></label>
<label id="extra_price_b" onclick="showExtra('extra_price')"><span id="extra_price_chk">售价</span></label>
<label id="extra_rushreplyset_b" onclick="showExtra('extra_rushreplyset')"><span id="extra_rushreplyset_chk">抢楼</span></label>
</div>
这是一个论坛的某个编辑框
我的程序
$oForm = _IEFormGetObjByName($oIE, "postform")
$message = _IEFormElementGetObjByName($oForm, "message")
_IEDocInsertHTML($message, $str,"afterBegin")
str的内容如下面一段话
<br />与其它正在进展的工作一道,DARPA的机器人也同样至关重要,比如允许人类操作的爪勾机械装置(grabber mechanism)和触摸屏,以控制实际的切削过程。这项1.8亿美元的首创事业仍有很长的路要走;然而,实验室的研究预计将最早也要持续到2015年。<br /><br /><div align="center"><embed src="http://player.youku.com/player.php/sid/XNTA1NjE3Mzk2/v.swf" type="application/x-shockwave-flash" width="550" height="400" quality="high" /><br /></div><div align="center">DARPA的视频<br /></div><br />
 楼主| 发表于 2013-1-23 12:34:18 | 显示全部楼层
报错信息为
he requested action with this object has failed.:
$o_object.insertAdjacentHTML($s_where, $s_string)
$o_object.insertAdjacentHTML($s_where, $s_string)^ ERROR
发表于 2013-1-23 12:56:32 | 显示全部楼层
测试可以,应该是你自己的对象没有获取成功~~
发表于 2013-1-23 13:00:26 | 显示全部楼层
本帖最后由 sunless 于 2013-1-23 13:02 编辑

不太熟悉  _IEDocInsertHTML 的操作方式 . 楼主是要把 你的$str 加到

<textarea name="message" id="e_textarea" class="pt" rows="15" tabindex="2"></textarea>的后面的位置?  还是 设置 textarea 的内容?
如果 设置 textarea  的内容 你可以试试.
$oForm = _IEFormGetObjByName($oIE, "postform")
$message = _IEFormElementGetObjByName($oForm, "message")
$message.value=$str
 楼主| 发表于 2013-1-23 13:06:49 | 显示全部楼层
回复 5# annybaby
<b>新一代iPhone今年6月上市?从目前供货商试产进度来看,新一代iPhone最快6月底亮相,第3季之后才会正式上市</b>。外 资德意志证券今天出具最新报告预测iPhone 零组件更换状态,德意志证券指出,除了机壳会有重大改变之外,镜头模块、电池等其他几项重要零组件应仅会做小幅改善,不会有太大变化。<br/>            <div align="center"><img class="flag_bigP" src="http://img.cnbeta.com/newsimg/130123/12094501941737327.jpg" alt="" align="middle" /></div> <p>  市场盛传,新一代iPhone将会有三款机种现身,对此,德意志证券指出,智能手机市场竞争激烈,中低端市场快速成长,加上产品生命周期从先前的1年缩短为9-10个月,苹果极有可能在iPhone 5S之外,推出另一款低阶iPhone,以应对竞争激烈的市场变化。</p><p>  德意志表示,消费者第一眼看到新一代iPhone即可发现外观已经完全不同,德意志认为,新一代iPhone将会出现彩色金属机壳,而低端iPhone则会采用塑料机壳,而鸿海集团底下的鸿准、鸿海均将积极拿下新一代iPhone订单。</p><p>  在镜头模块方面,德意志预期,iPhone 5S以及低阶iPhone 不会升级镜头模块画素,仍会维持既有800万画素镜头,但是,新款的镜头在光圈功能上,将会持续升级,而专攻镜头模块、传感器的制造厂大立光、索尼可望受惠,不过,夏普集团旗下的光学镜头厂Kantatsu也已经打入iPhone 供应链,未来将成为大立光重要的竞争对手。</p><p>  另外,在电池零组件方面,德意志预期,苹果会要求供应链制造出更高安培数的电源产品,新普、顺达虽然已经供应好几代iPhone产品,但能否供应更高安培数的产品将是今年能否拿下iPhone订单的重要关键,供应链地位是否会为之动摇,也是今年观察的重点之一。</p><br/>
插入这样一篇文章,测试可以通过?
-------------------------------------------------------------------------------
我试过.value=的方式,也一样的报错
 楼主| 发表于 2013-1-23 13:12:45 | 显示全部楼层
回复 5# annybaby
对象我是肯定获得了的,如果没有获得对象,说明文档上有,报错信息也不是
The requested action with this object has failed
这段代码我不断修改不断执行不下一百遍,各种错误都见过了
发表于 2013-1-23 13:22:14 | 显示全部楼层
回复 7# maltose


   
只要赋值成功,跟你赋值的具体内容有啥关系??
 楼主| 发表于 2013-1-23 13:40:35 | 显示全部楼层
回复 9# annybaby
赋值赋不上去,可以把你的代码贴一下吗?
 楼主| 发表于 2013-1-23 14:42:34 | 显示全部楼层
如果插入普通字符串就没有问题,但是插入html代码就报错
 楼主| 发表于 2013-1-23 14:42:52 | 显示全部楼层
如果插入普通字符串就没有问题,但是插入html代码就报错
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-14 00:19 , Processed in 0.079249 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表