- PR -

WRAP="hard"を行ったテキストエリアのJavaScriptでのTrim処理について

1
投稿者投稿内容
にの
会議室デビュー日: 2005/12/15
投稿数: 4
投稿日時: 2005-12-16 02:15
はじめまして、にのと申します。

WRAP="hard"を行ったテキストエリアの文字列の前後の空白を、
JavaScriptで取り除いてフォーム情報を送信したいのですが、
サーバに送られたフォーム情報におかしなデータ(abc)
が付加されてしまい困っています。
WRAP="hard"を外したらおかしなデータがつかずに思ったとおり
動作することは確認したのですが、WRAP="hard"は外したくあり
ません。
どなたが原因や対策がわかる方がいらっしゃいましたら、助言
をおねがいします。


【環境】
OS:Windows XP Professional
Webブラウザ:InternetExplorer 6 SP1
サーバ:Tomcat5.0.28


【JSP ソース】
コード:
<%@ page contentType="text/html; charset=Windows-31J" %>
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
<SCRIPT type ="text/JavaScript">
// 送信ボタン押下時処理
function btClick() {
	// TRIM処理
	document.testForm.str.value = trim(document.testForm.str.value);
	// サブミット
	document.testForm.submit();
}
// TRIM 処理
function trim(str){
	// 前後の全角・半角スペースを削除
	str = str.replace(/^[\s ]+|[\s ]+$/g,"");
	// オブジェクトの中身を str にし、str を返す
	alert("文字列:" + str + ":" + str.length);
	return str;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="testForm" METHOD="post" ACTION="/jsptest/test.jsp">
<TEXTAREA WRAP="hard" NAME="str"></TEXTAREA>
<INPUT TYPE="button" VALUE="送信" ONCLICK="btClick()">
</FORM>
<%
	String str = request.getParameter("str");
%>
あなたの送信した情報は【<%=str%>】です。
</BODY>
</HTML>





例えば、上記のJSPページでテキストエリアに" ab c "
と入力すると、以下のような結果になります。


【JavaScriptダイアログ】
文字列:ab c:4


【<%=str%>の内容(ソース)】
ab c&#65007; &#65007;&#65007;
1

スキルアップ/キャリアアップ(JOB@IT)