当前位置: 代码迷 >> Web前端 >> 编辑器的取值有关问题
  详细解决方案

编辑器的取值有关问题

热度:32   发布时间:2012-10-07 17:28:51.0
编辑器的取值问题

struts2中从后台取编辑器的内容,并不像下面的这么简单:

?

<s:textfield name="bean.title" key="" id="form_name"
						cssClass="textBox"></s:textfield>

?

?这里textfield中name属性的值就是相关对象包装的某个成员变量,而编辑器的使用方法是:

?

<script type="text/javascript" src="kindEditor/kindeditor.js"></script>
		<script type="text/javascript">
			KE.show({  
   			    id : 'content_1' , //TEXTAREA输入框的ID  
			}); 
                 </script>
<textarea name="" id="content_1" cols="72" rows="8" cssStyle="width:719px;white-space: normal;overflow-x:auto;">${bean.text}</textarea>						

?

?发现不能把页面输入的值传到后台。这是因为获取编辑器的值并不是这样的,下面是正确地取编辑器中的值:

上面的内容还是照样写,还需要及一个隐藏的<input>以及提交按钮,提交按钮在form中:

?

<input  type="hidden" name="content" id="content_1_1" />
<div class="fr_submit" onclick="submitForm()"><s:text name="submit"></s:text></div>

?点击提交按钮之后,会触发submitForm()方法:

?

function submitForm(){  
	var s = KE.util.getData("content_1");
	 s = KE.util.escape(s);
	 document.getElementById("content_1_1").value = s;
	 $("#myform").submit();
}

?input标签的name属性值就是在对应的action中的变量名称,该名称就是取的编辑器中的。

?注意:为什么将struts标签<s:textarea>改为html标签<textarea>,目的是为了在用编辑器给文字设置了样式之后,点击修改后显示的不是html标签代码,比如&lt;,而是可读性的内容。同时,name属性在html标签没有传值的作用,此时就要用到el表达式。

  相关解决方案