用javascript取控件的值原本是一件简单的事却被eWebEditor搞的很不方便,致使不少初学者,不知道该如何获取。在分析以前先把咱们习惯性的取值方法写出来。 javascript
上面代码很是简单咱们通常会认为document.getElementById("content1").value这样就能够取值了,但事实上 并非这样,经过这种方式取值,只能取到初始值,当编辑器的内容变化时是取不到的,为何呢?为何后台程序能够取获得编辑器中的值 呢,<%=request.getParameter("content1")%>这里是能够取到编辑器中的内容的,可是 document.getElementById("content1").value确不能够。看来eWebEditor在js中动了手脚,必定是动态 帮定了提交事件,或动态绑定了在源码中搜索onsubmit找到以下代码,原来动态的绑定了onsubmit事件,这样每次在提交前会执行 AttachSubmit函数 css
AttachSubmit就是copy编辑器的内容到隐藏域控件中的过程。 html
知道了过程咱们的问题就不难解决了。只需在取编辑器内容以前执行下AttachSubmit便可 java
整个过程就此结束,其实eWebEditor代码中的不少思想都是很具备参考价值的例如AttachSubmit的绑定submit 方法的从新封装,我还发现一段比较写的比较好的代码也一块儿贴出来。 web
解析url的方法,这种方法之前koko跟我说过一回,今天在ewebeditor中又看到了,看来是一种比较常规的分析URL参数的方法。 jsp
总结:其实eWebEditor只是修改了提交表单的两个事件,在提交表单前进行值copy,从而避免了编辑器每次更新都同步值这种没有必要的操做。 编辑器