zoukankan      html  css  js  c++  java
  • webbrowser填充textarea的问题

    我在用webbrowser控件做一个自动填充的程序,自动填充很简单 页面都是text元素,几个单选等等。获取到设置value就行了,但是在最后我遇到一个很棘手的问题,就是有一个textarea的文本编辑区。这个编辑区跟QQ空间,还有其他空间写日志用的编辑区差不多,只是比他们少一些编辑格式的功能罢了。开始我认为只是一个textarea而已,以前也做过,很简单设置它的innertext属性就搞定了,可是事实并没有我想的那么好,我设置了他的innertext没有任何效果。难道没有获取到这个textarea,于是我加了一个是否为空的判断,结果还是不行。后来我尝试了各种方法设置它的value、text 、找到他属于的div 设置innerhtml属性,以及给webbrowser重置html源码都不行,后来怀疑是要执行某个js函数,就瞪着那个页面的源代码找js函数,找好大功夫找到两个看着跟textarea有关的js函数,于是在程序里加上执行这个js函数并传递参数,结果还是很失望,textarea还是空的。然后又想难道是还要触发一下textarea的什么事件,没办法求助google了,详细gg了一下textarea,看了所有他的行为,方法,事件,属性,也试了好多,结果还是失望,为什么就填充不上呢。无奈又去看页面,我偶然在编辑区点了右键查看源代码,结果他出来并不是整个页面的源代码,它只是一个空的页面,里面什么都没有,下面给出那个页面的代码: 我想里面用到了框架?然后我去整个页面的源代码里搜索 iframe frameset 都没有发现有什么框架,哎,不管了 就按他在某一个框架里写程序试试吧。于是我在程序加了这一句代码: this.webBrowser2.Document.Window.Frames[0].Document.getelementbyid(“tinymce”).innertext="我的内容"; this.webBrowser2.Document.Window.Frames[0].Document.Body.InnerText = "ssssssss"; 然后我调试一次试试吧。哈,真是意想不到,结果出来了。这个问题这么纠结。整整搞了我一天的时间。终于出来了,心情很舒畅。哈哈。顺便再说一下 我上句代码 getelementById里的id并不是textarea的id 而是那个空页面body的id 大家看一下就知道了。附textarea的图:
  • 相关阅读:
    基于html5拖拽api实现列表的拖拽排序
    vue组件keepAlive的使用
    阿里云OSS 服务端签名后直传之分片上传(结合element-ui的upload组件)
    element-ui(vue)upload组件的http-request方法的使用
    javascript知识梳理之数据类型
    解决nginx 出现 413:Request Entity Too Large
    git基本命令
    npm源管理
    element-ui的upload组件的clearFiles方法的调用
    vue实例的生命周期
  • 原文地址:https://www.cnblogs.com/yeye518/p/2307247.html
Copyright © 2011-2022 走看看