js动态加载div innerHTML

原创 2012年03月25日 22:53:14

        最近遇到个innerHTML的问题,js动态加载div innerHTML,将div添加textarea元素(含非标准属性),并且表单在提交时采取将div innerHTML作为一个值提交到后台,再通过dom解析的方式提取出每个textarea具体数据;由于textarea数据是客户端输入,难免会遇到一些字符,dom是无法解析的,为了解决这个问题,提出的解决方案为在div数据提交到后台后,通过replaceall的方式将<textarea name="textarea1" dataid="dataid_1"></textarea>每个数据引用<![CDATA[]]>;但问题随之而来,如何替换?起初打算在每个<textarea name="textarea1" dataid="dataid_1">最后新增属性,然后按规则替换,例如:<textarea name="textarea1" dataid="dataid_1" specialchar="1">然后应用replaceall("specialchar="1">","><![CDATA["),并且将replaceall("</textarea>","]]></textarea>"),这样就解决了该问题;但在实际测试中,存在问题,每次在加载div innerHTML时候,textarea的非标准属性顺序都是在变化,textarea属性值会参与逻辑判断,并且不同的浏览器顺序显示也是不一样的;这样一来上述的实现方式就不可取了;最后是通过正则表达式来解决如下:

content = _content.replaceAll("</textarea>", "]]></data_input>");//content为innerHTML数据
     Pattern pat = Pattern.compile("<textarea(.+?)>");
     Matcher mat = pat.matcher(_content);
     String data = "";
     boolean flag = true;
     while(flag){
      if(mat.find()){
       data = mat.group(1);//获取textarea所有属性
       _content = _content.replaceFirst("<textarea.+?>", "<data_input "+data+"><![CDATA[");//每次将textarea替换为data_input
      }else{
       flag = false;
      }
     }

js动态加载div显示主菜单和子菜单+jquery获取动态id

最近在做项目重构的主界面工作中,需要动态显示主菜单以及子菜单(各个界面的链接),查看原来老系统采用的是asp控件,但是重构的时候采用mvc框架,而且这些菜单并不是死的,而是通过其他界面来配置的,主菜单...

wow.js可视化窗口动态加载插件

  • 2017年10月30日 11:11
  • 19KB
  • 下载

JS EasyUI DataGrid动态加载数据

  • 2016年03月15日 16:25
  • 2KB
  • 下载

[Ext JS 4] 动态加载

一次性加载完所有的js 文件, 对于比较大型的项目来说,效率较为低下。可能只是一个简单的首页, 也要几秒甚至十几秒才能出得来。 是否可以在需要的时候才进行加载? 动态加载, 是Ext JS 4 中...

动态加载外部JS文件

  • 2009年04月03日 11:39
  • 947B
  • 下载

javascript中采用jQuery ajax动态加载js文件的解决方法

var Env = new function () { this.envPath = null; this.getPath = function () { this.e...
  • hsg77
  • hsg77
  • 2016年04月19日 19:09
  • 2584

动态加载JS脚本的4种方法.doc

  • 2010年03月31日 21:30
  • 55KB
  • 下载

动态加载js文件

  • 2012年06月18日 10:45
  • 7KB
  • 下载

使用python抓取js动态加载的网页

我们在做网页抓取的时候,一般来说使用urllib和urllib2就能满足大部分需求。 但是有时候我们遇见那种使用js动态加载的网页。就会发现urllib只能抓出一个部分内容空白的网页。 解决办法是使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js动态加载div innerHTML
举报原因:
原因补充:

(最多只允许输入30个字)