日期:2014-05-17  浏览次数:20793 次

ext htmleditor带标签无法提交
.NET Framework 4.0,算你狠,建议win下别用ext-htmleditor,

今天客户打电话,说是要修改数据无法修改,后台是ext的,找了半天原来是htmleditor这块无法改,都不进action,但是新建一条可以,最后确定是因为htmleditor中选了标签。

经过在网上查资料,有人说当你在安装了.NET Framework 4.0以上版本后,当你的应用程序以.NET Framework 4.0为框架版本,你的任意服务器请求,都将被进行服务器请求验证(ValidationRequest),这不仅包括ASP.NET,同时也包括Web Services等各种HTTP请求,不仅仅针对aspx页面,也针对HTTP Handler,HTTP Module等,因为这个验证(Valify)的过程,将会发生在BeginRequest事件之前。

是的,这个东西我给客户放在了一台win机上的tom下,之前都是在linux上的都没问题,而我在同事win机器上试了都没有问题,看来上面说的是真的,我暂信了。

可以用Ext.util.Format.htmlEncode('<i>abc</i>')将带有的html标签转成类似&lt;&gt;等,然后再将数据库取出来的转义后的用Ext.util.Format.htmlDecode('&lt;i&gt;ABC&lt;/i&gt;')转成<i>abc</i>

Ext.Ajax.request({
	method :'GET',
	url :'${contextPath}/admin/productAction.do?method=getProductById&productId='+records[0].id,
	success :function(response,options) {
		var obj= Ext.decode(response.responseText) ;
	         addForm.getForm().setValues(obj);
                  //上面这句将json串obj对应form中name进行设值,下面这句将htmleditor中转义后的串转回html格式
		addForm.find('name', 'yjbjjz')[0].setValue(Ext.util.Format.htmlDecode(obj.yjbjjz));		
		}, 
	failure : function() {Ext.MessageBox.alert('提示','查询数据失败!');} 
	});