dポイントプレゼントキャンペーン実施中!

HTMLタグの<textarea>から入力された文章に
入力時やフォーム送信前に文字数制限をかける方法が見つかりません。
何か良い方法があれば教えてください。
CGI側で判定するしかないのでしょうか。

A 回答 (2件)

 JavaScript でオブジェクトの value.length を評価するとよいでしょう。


 以下にサンプルコード(300 字までの場合)を示しますので,参考になさってください。

<HTML>
<HEAD>
<TITLE>Form sample</TITLE>
<SCRIPT TYPE="text/javascript">
<!--
function check() {
if (document.theform.requiredtext.value.length > 300) {
alert("文字数をオーバーしています。");
return false;
}
return true;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="theform" ACTION="" ONSUBMIT="return check();">
<TEXTAREA ID="requiredtext" NAME="requiredtext" ROWS="4" COLS="80">
</TEXTAREA>
<INPUT TYPE="submit">
</FORM>
</BODY>
</HTML>
    • good
    • 0
この回答へのお礼

おおっ すばやい回答ありがとうございます

極力javascriptを使うことを避けていたのですが、
この用途にぴったりだと思いました(^^

javascriptを無効にしてまでオーバーした書き込みをする相手には
CGI側で処理すればいい・・・ですよね?

お礼日時:2004/05/07 01:49

 No. 1 の回答をつけた者です。



 はい,おっしゃるとおり,JavaScript などの「クライアントサイドスクリプト」は「サーバまで送らないといけなかったような処理をクライアント側で済ませる」のに適しています。
 以前,マルチラインテキストボックスを,字数制限のもとで書きやすくするために,「文字数カウント」のボタンも設け,字数をカウントして表示させるスクリプトを走らる気の利いたサイトも見たことがあります。

 JavaScript が無効になっていた場合もおっしゃるとおりで,CGI プログラムの側でもチェックしなければなりません。
 もっと悪質な場合として,フォームを偽装して巨大データをポストすることも考えられますし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!