xhedit用js提交表单后台接收不到值

来源:互联网 发布:域名注册成功如何备案 编辑:程序博客网 时间:2024/05/23 17:04

先看一下官方说的:

正常加载了xhEditor,读取textarea的value值,为什么读取不到最新编辑结果?

目前网络中所有的在线编辑器都是利用新创建的iframe来实现可视化编辑功能,xhEditor也不例外,所以在提交前必需要将最新的编辑结果重新同步到原来的textarea。

xhEditor默认会在textarea所在的form对象中绑定onsubmit事件,当用户点击submit按钮时,xhEditor就会将最新结果同步回textarea,随后随表单中的其它表单项一同提交到服务端脚本。因此,如果不需要用Javascript额外处理,普通的表单式提交是没任何问题的。

如果网页中需要用Javascript额外处理编辑结果,比如ajax提交表单,则有三种解决方案:

  1. 使用jQuery的事件绑定或者标准DOM绑定方法在form上绑定submit事件(绑定代码必需在xhEditor初始化代码后面),即是在xhEditor把值回传后再读取,在相应绑定的函数中读取textarea的value值即是最新编辑结果;
  2. 使用jQuery的标准取值方法:$('#textarea_id').val();
  3. 使用xhEditor提供的专用读值API接口:editor.getSource();

看红字部分:这个时候如果用 document.submitForm.submit();方法提交表单的话,后台就接收不到xhedit中的值,这个时候,只要我们做一下回写就可以了:

<textarea id="content"></textarea> 这里初始化xhedit
在jsp中加一个:<input type="hidden" name="content" id="content2"/>
然后在js里面重新赋值:var elm1 = $("#content").val();
$("#content2").val(elm1);
这样子,就可以在js中提交了。





0 0
原创粉丝点击