풍부한 텍스트 상자 저장 및 표시 문제

17223 단어
이전에 프로젝트 개발을 진행할 때 이러한 문제에 부딪혔다. 부유한 텍스트 상자를 사용하여 사진을 올릴 때 전체 표를 서열화하여 백엔드에 전송할 때 이상을 보고했다. 원래 부유한 텍스트 상자의 내용은 특수 처리를 해야 하기 때문에 직접 서열화할 수 없었다. 일부 자료를 찾아보니 escape() 함수와 unescape() 함수를 사용하여 부유한 텍스트 상자의 인코딩과 디코딩을 할 수 있었다.코드를 붙여 넣습니다.
프런트엔드 편집 저장 코드:
 1 <form id="itemEdit1" >
 2         <div class="items">
 3             <label id="lblCont">label>
 4                 <table id="Table7" cellSpacing="0" cellPadding="1" width="300" bgColor="black" border="0">
 5                     <tr>
 6                         <td>
 7                     <table id="Table8" cellSpacing="0" cellPadding="0" width="300" bgColor="white" border="0">
 8                     <tr>
 9                     <td>
10                   <textarea id="content1"  cols="100" rows="8">textarea>
11                   <input type="hidden" id="Content" name="Content" />                                                                                  
12                 tr>
13             table>
14                 td>
15             tr>
16             table>
17         div>
18 
19         <div class="items" >
20             <div style="margin-top: 10px; margin-left: 100px;">
21                 <a class="bt1" id="btnconf" onclick="message.Save()">    a>
22                 <a id="btncancel" class="bt1" onclick="message.Cancel()">  a>
23             div>
24         div>
25 
26            
27 form>

 
 1  var editor;
 2             KindEditor.ready(function (K) {
 3                 editor = K.create('#content1', {
 4                     //    
 5                     uploadJson: '/Scripts/kindeditor/asp.net/upload_json.ashx',
 6                     //    
 7                     fileManagerJson: '/Scripts/kindeditor/asp.net/file_manager_json.ashx',
 8                     allowFileManager: true,
 9                     //               
10                     afterCreate: function () {
11                         var self = this;
12                         K.ctrl(document, 13, function () {
13                             self.sync();
14                             K('form[name=example]')[0].submit();
15                         });
16                         K.ctrl(self.edit.doc, 13, function () {
17                             self.sync();
18                             K('form[name=example]')[0].submit();
19                         });
20                     },
21                     //            ,         
22                     afterUpload: function (url) {
23                         alert(url);
24                     },
25                     afterCreate: function () {
26                         this.sync();
27                     },
28                     afterBlur: function () {
29                         this.sync();
30                     },
31                     //     
32                     width: '540px',
33                     //     
34                     height: '250px;',
35                     //         
36                     items: [
37                     'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',
38                     'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
39                     'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
40                     'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
41                     'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
42                     'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
43                     'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
44                     'anchor', 'link', 'unlink', '|', 'about'
45                     ]
46                 });
47                 prettyPrint();
48             });
 1 Save: function () {
 2                  
 3                     $("#Content").val(escape(editor.html()));
 4                     $('#content1').val("");
 5                     editor.html("");
 6                     $.post("/Task/AddTask", {  model: JSON.stringify($("#itemEdit1").formToJson()) }, function (data) {
 7                         var data = JSON.parse(data);
 8                         switch (data.message) {
 9                             case JsonResult.SessionOut:
10                                 $.messager.alert('    ', '     ,     !');
11                                 break;
12                             case JsonResult.Error:
13                                 $.messager.alert('    ', data.data);
14                                 break;
15                             case JsonResult.Success:
16                                 $.messager.alert('  ', '    ');
17 
18                                 history.back();
19                               
20                                 break;
21                         }
22                     });
23                 },

 
백그라운드에서form에서 전송된 파라미터를 직접 가져와 데이터베이스에 저장할 수 있지만 만약에 데이터를 다시 표시할 때 데이터베이스에서 추출한 데이터를 escape 디코딩해야 한다.
unescape
전재 대상:https://www.cnblogs.com/syfblog/p/4935136.html

좋은 웹페이지 즐겨찾기