カレッヂ |
質問者 ada
投稿日 10/30(火) 16:16:22
TEXTAREAに字数制限を設けたいのですが(ブラウザ表示のみOKです)、HTMLの記述だけでは無理でしょうか? どなたかご存知ありませんか? |
回答者 呑兵衛@大阪
[削除]
投稿日 11/1(木) 12:42:54
HTML上と言うことなので、JavaScriptで動かします。 shift_jisを前提にします。 半角・全角・空白を一文字で計算し、改行はいくつあっても Win、Macともに無視します。 改行も一文字として数えるなら、 var len = tmp.replace(/[\n\r]/g,""); の "" を " "のように、半角空白でも入れて下さい。 以下を、<head> に組み込みます。 <script type="text/javascript"> <!-- var MAXLENGTH = 20; //入力可能文字数(この数字を制限数にする) function mojiseigen(txt) { var tmp = txt.bun.value; var len = tmp.replace(/[\n\r]/g,""); var len = len.length; if(leng > MAXLENGTH) { alert("入力可能な文字数は"+MAXLENGTH+"文字までです"); } else { txt.submit(); } } // --> </script> 以下を、<form>に組み込みます。rows と cols は適当に入れ替える。 <textarea name="bun" rows="5" cols="20"></textarea> <input type="button" value="送信" onclick="mojiseigen(this.form); return false"> |
質問者 ada
[削除]
投稿日 11/2(金) 12:59:55
あ〜りがとぉございます! cgiが表示させるHTMLの中に、早速埋め込んでみましたが機能しなくて・・・。 悪戦苦闘しながら、つついてみます。 |
回答者 呑兵衛
[削除]
投稿日 11/2(金) 15:14:40
cgi とは知りませんでした。 どっちにしても、これでは動かないです、ハイ。 訂正 if(leng > MAXLENGTH) { を if(len > MAXLENGTH) { に cgiに埋め込む場合は var len = tmp.replace(/[\n\r]/g,""); を var len = tmp.replace(/[\\n\\r]/g,""); に 入力可能 を 入力可能\ に変更してください。 |
質問者 ada
[削除]
投稿日 11/2(金) 18:58:04
嗚呼我感激多大謝々!! 呑兵衛さん、ありがとうございました!!!!!!! \を入れたり取ったりしながら、悪戦苦闘していたところでした。 また他の質問させていただく際は、どうぞ宜しくお願いします。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |