解决在编辑模板时需要textarea嵌套时结构会乱的问题

来源:赵克立博客 分类: ASP 标签:--发布时间:2014-04-29 06:04:39最后更新:2014-04-29 06:04:39浏览:2461
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2014-04-29 06:04:39
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
在网页中使用用textarea标签时 里面如果再放textarea这个标签那么结构就会混乱 主要是因为textarea在遇到闭合标签时会以为表单结束啦所以后面的内容也就不会被 认为是它里面的值啦。下面说一种解决方法 在服务器端取出html代码的时候把<textarea>标签给替换掉这样就可以放进<textarea> 里面啦,之后再用客户端的js把里面替换掉的标签再换过来,这样就避免啦这个标签会被 解析的情况。上面附上具体实现的代码 首先对服务器端输出html代码进行处理
'===========================================
'处理模板中的textarea
'===========================================
	Function convertTextarea(str)
		Set p_regexp = New RegExp   
		p_regexp.IgnoreCase = True
		p_regexp.Global = True
		p_regexp.Pattern="<textarea(.*?)>([\s\S]*?)</textarea>"
		convertTextarea=p_regexp.replace(str,"###textarea$1###$2###/textarea###")
	End Function
替换完成后放进去客户端加载的时候<textarea>就不会解析成html代码啦,之后就是客户端数据的转换啦,看下面
  var catcontent=$("textarea[name='cat_content']").val();
		   var re = /###textarea(.*?)###/g;               // 创建正则表达式模式。    var arr;
			var catcontent = catcontent.replace(re,"<textarea$1>");
		   var re = /###\/textarea###/g;               // 创建正则表达式模式。    var arr;
			var catcontent = catcontent.replace(re,"</textarea>");
			$("textarea[name='cat_content']").val(catcontent);
用js把要把内容的<textarea>中的内容取出来把里面的###textarea(.*?)###替换成合法标签 ok可以啦。。。0.0

微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python