最近做的項(xiàng)目中遇到了一個(gè)很棘手的問題,請來往的高手幫忙解決,感激不盡!
想把textarea中的文字(包含回車和換行)存入oracle中,但是存入的時(shí)候如果不處理回車換行存入到數(shù)據(jù)庫就會(huì)出現(xiàn)數(shù)據(jù)丟失。另外,從數(shù)據(jù)庫里讀出來的時(shí)候,還要讓回車換行正常顯示。該字段是VARCHAR2類型,怎么解決呢?
本項(xiàng)目用的是jsp+servlet架構(gòu),所有數(shù)據(jù)的增、刪、改、查都是在jsp頁面用javascript進(jìn)行的處理。如下:
1
<script language="javascript">
2
function sendReq() {
3
var desc = addForm.dept_user_desc.value.replace(/^( )+|^[\s ]+|( )+$|[\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(/^( )+|^[\s ]+|( )+$|[\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>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

在Form里面寫到desc,這里面用到了textarea。上面代碼加入了對textarea輸入文字的驗(yàn)證。
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>

2

3

4

5

6

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