問征夫以前路
          感謝所有關心過支持過我的人, 感謝所有恨過我嘲笑過我的人 !
          posts - 30,comments - 147,trackbacks - 0

            最近做的項目中遇到了一個很棘手的問題,請來往的高手幫忙解決,感激不盡!

            想把textarea中的文字(包含回車和換行)存入oracle中,但是存入的時候如果不處理回車換行存入到數據庫就會出現數據丟失。另外,從數據庫里讀出來的時候,還要讓回車換行正常顯示。該字段是VARCHAR2類型,怎么解決呢?

            本項目用的是jsp+servlet架構,所有數據的增、刪、改、查都是在jsp頁面用javascript進行的處理。如下:

           1<script language="javascript">
           2function sendReq() {
           3    var desc = addForm.dept_user_desc.value.replace(/^(&nbsp;)+|^[\s ]+|(&nbsp;)+$|[\s ]+$/g, "" );
           4  if (desc.length>50{
           5    alert("<%=pageMsgs.getString("descdn")%>");
           6    addForm.dept_user_desc.focus();
           7    return false;
           8  }
           
           9  
          10  var xmlData;
          11  xmlData = '<?xml version="1.0" encoding="UTF-8"?>';
          12  xmlData += '<data>';
          13  
          14  xmlData += '<pri_keys>';
          15  xmlData += '<pk>';
          16  xmlData += '<pk_name>dept_user_id</pk_name>';
          17  xmlData += '<pk_type>' + <%=("" + ParamInfo.T_INT)%> + '</pk_type>';
          18  xmlData += '</pk>';
          19  xmlData += '</pri_keys>';
          20  
          21  xmlData += '<fields>';
          22  
          23  xmlData += '<field>';
          24  xmlData += '<field_name>dept_id</field_name>';
          25  xmlData += '<field_type>' + <%=ParamInfo.T_INT%> + '</field_type>';
          26  xmlData += '<field_value>' + <%=deptId%> + '</field_value>';
          27  xmlData += '</field>';  
          28  
          29  xmlData += '<field>';
          30  xmlData += '<field_name>user_id</field_name>';
          31  xmlData += '<field_type>' + <%=ParamInfo.T_INT%> + '</field_type>';
          32  xmlData += '<field_value>' + addForm.user_id.value + '</field_value>';
          33  xmlData += '</field>';
          34  
          35  xmlData += '<field>';
          36  xmlData += '<field_name>regular_id</field_name>';
          37  xmlData += '<field_type>' + <%=ParamInfo.T_INT%> + '</field_type>';
          38  xmlData += '<field_value>' + addForm.regular_id.value + '</field_value>';
          39  xmlData += '</field>';
          40  
          41  xmlData += '<field>';
          42  xmlData += '<field_name>dept_user_desc</field_name>';
          43  xmlData += '<field_type>' + <%=ParamInfo.T_STRING%> + '</field_type>';
          44  xmlData += '<field_value><![CDATA[' +  addForm.dept_user_desc.value.replace(/^(&nbsp;)+|^[\s ]+|(&nbsp;)+$|[\s ]+$/g, "" ) + ']]></field_value>';
          45  xmlData += '</field>';
          46  
          47  xmlData += '</fields>';
          48  
          49  xmlData += '<table_name>c_dept_user</table_name>'
          50  xmlData += '<base_name>dept_user</base_name>';
          51  xmlData += '</data>';
          52  
          53  addForm.eventData.value = xmlData;
          54  addForm.submit();
          55  
          56}

          57</script>


          在Form里面寫到desc,這里面用到了textarea。上面代碼加入了對textarea輸入文字的驗證。

          1  <tr>
          2    <td align="left"><%=pageMsgs.getString("dept_user_desc")%></td>
          3    <td align="left">
          4       <textarea name="dept_user_desc" class="textfield" cols="50" rows="5"><%=deptUserDesc%></textarea>
          5    </td>
          6  </tr>

            當輸入文字換行的時候,存入數據庫的文字只有回車后的字符,回車換行之前的字符都已丟失。
          有遇到此類問題的朋友,請留下寶貴意見,謝謝!

          posted on 2007-11-16 17:37 kenzhang 閱讀(5234) 評論(8)  編輯  收藏

          FeedBack:
          # re: 難解決的textarea中的回車和換行問題
          2007-11-18 18:52 | 怎么羨慕天空的飛鳥
          關注!呵呵  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題
          2007-11-19 12:03 | 隔葉黃鶯
          數據庫中是應該存儲了所有的內容,你看看字符串長度就知道,可者調試狀態看看字符串是怎么顯示的。

          有問題,可聯系我 QQ:1125535  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題
          2007-11-19 21:45 | 怎么羨慕天空的飛鳥
          我測了一下,在oracle里存的表面上是空格,但從數據庫提取出來并放到文本域里面后仍然是換行,沒有問題啊!  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題
          2007-11-20 09:22 | kenzhang
          @怎么羨慕天空的飛鳥
          好像沒有看明白我說的問題,像這樣,我輸入:
          “郭靖

          楊康

          東邪

          北丐----”
          我在每一行輸入幾個字之后換行,這樣存入數據庫后只能存入“ 北丐----”(注:“北丐”前面就是你說的‘在oralce里存的表面上是空格’)。這樣再從數據庫里面讀出來就是“換行 北丐----”,前面的“郭靖 楊康 東邪”都已丟失。
          這個問題其實在數據存入數據庫之前,數據就已經丟失了,所以再從數據庫里面讀數據,顯示的還是丟失了之后的數據。還好,問題在昨天已經解決了,稍后會在下一篇的隨筆里面寫明解決問題的辦法。謝謝支持!  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題[未登錄]
          2010-05-26 00:33 | z
          1.測試測試測試測試測試測試
          1.測試測試測試測試測試測試
          1.測試測試測試測試測試測試  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題
          2011-07-19 18:09 | 事實上
          測是回車











































































































































































































































































































































            回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題[未登錄]
          2014-08-25 11:00 |








          在  回復  更多評論
            
          # re: 難解決的textarea中的回車和換行問題[未登錄]
          2014-08-25 11:01 |
          1
          1
          1
          1

          1
          1
          1
          1
          1

          1  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 遂平县| 张家港市| 中超| 新源县| 酉阳| 昭觉县| 景德镇市| 彩票| 茂名市| 河间市| 双峰县| 白河县| 馆陶县| 常宁市| 泸州市| 萨嘎县| 麦盖提县| 呼和浩特市| 尉犁县| 乌恰县| 白朗县| 横峰县| 阿鲁科尔沁旗| 河池市| 太湖县| 沧源| 阿合奇县| 昌吉市| 荥阳市| 依安县| 黄平县| 保靖县| 塔城市| 惠安县| 山东| 婺源县| 江陵县| 贺州市| 日喀则市| 阿合奇县| 竹溪县|