用jquery.form異步提交頁面時,服務器端取不到Ueditor的值


根據Ueditor的幫助說明,默認情況下在服務器端或者Ueditor的值是Request.Form["editorValue"]。
1.在沒有使用Jquery.form插件的情況下,點擊頁面的submit,是可以取到值的;
2.在使用Jquery.form插件異步提交頁面的時候,發現點擊submit之后,用firebug查看post信息,里面找不到editorValue,所以在服務端總是取不到Ueditor的值。
解決辦法:
在頁面form里添加一個hidden,在submit之前用editor.getContent()獲取編輯器的值,並賦給這個hidden;
使用Jquery.form插件需要注意:不能再beforeSubmit在個事件中執行上面的操作,雖然也是在執行submit之前,但是提交到服務器端這個hidden還是沒有內容的。

部分代碼如下:


 

   <script language="javascript" type="text/javascript">
      var editor;
      $(document).ready(function() {
         editor = new baidu.editor.ui.Editor();
         editor.render("myEditor");        
      });
     
      function processJson(data) {
         if (data.status == "true") {
            top.$.messager.alert('提示信息', data.msg, 'info', function() {
               top.closeTab("頁腳說明");            
             });
            
         }
         else {
            top.$.messager.alert('提示信息', data.msg, 'error');
         }
      }
      function SetVal() {
         var options = {
            url: "FootInfo.aspx?ps=SAVE",
            type: "post",
            dataType: "json",
            success: processJson
         };
         $("#myContent").val(editor.getContent()); //或者編輯器的值要寫在這里或者上面,不能寫在beforeSubmit事件里
         $("#formPost").ajaxSubmit(options);
      }
   </script> 


<form id="formPost" method="post" action="">
   <input type="hidden" id="myContent" name="myContent" />
   <div id="content"> 
      <ul>
         <li id="editor" style="height:320px;">
            <label for="myEditor" style="vertical-align: top">
               頁腳描述:
            </label> 
            <textarea id="myEditor"> <%=strSummary %></textarea>  
         </li>
      </ul>
      <div  class="pt10 pl125">
         <a id="btnSave" href="javascript:void(0)" onclick="SetVal()" class="btn_yl mr10"><span>
            <span class="fc_42">保存</span> </span></a>
      </div>
      
   </div>
   </form>



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: