- ベストアンサー
入力フォーム内の字数制限
400字以内の作文を打って送ってもらおうと思い、 入力フォームを作ろうとしたのですが、 どの本にも文字数制限の事が載っていなくて困っています。 どなたかご存じな方、お教え願えないでしょうか? どうぞよろしくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
送信しようとした際に文字数チェックを行うものです。 最大文字数を越えていた場合は、送信できないようになっています。 フォーム <form action="***" method="post" onsubmit="return checkForm(this)"> <p><input type="submit" value="送信"></p> <p><textarea name="input1"></textarea></p> </form> JavaScript <script type="text/javascript> <!-- function checkForm(obj) { var maxLen = 400;// 最大文字数 if (obj.input1.value.length > maxLen) { alert(maxLen + "文字以内で入力してください。"); return false; } else { return true; } } //--> </script> また、改行文字を無視するならこのようになります。 <script type="text/javascript> <!-- function checkForm(obj) { var maxLen = 400;// 最大文字数 if (obj.input1.value.replace(/\r|\n/g, "").length > maxLen) { alert(maxLen + "文字以内で入力してください。"); return false; } else { return true; } } //--> </script> 一応言っておくと、JavaScriptを無効にすれば何文字でも送信できるので、必ずCGI側でもチェックを行うようにしてください。
その他の回答 (5)
- kesokeso
- ベストアンサー率0% (0/1)
syonepさんのようにHTMLでmaxlengthで制御するとよいと思います。 <input type="text" size="30" maxlength="400"> 注意点として全角や半角、そして環境によってばらける、というのがありますが(参考URL)
- kesokeso
- ベストアンサー率0% (0/1)
syonepさんのようにHTMLでmaxlengthで制御するとよいと思います。 <input type="text" size="30" maxlength="400"> 注意点として全角や半角、そして環境によってばらける、というのがありますが(参考URL)
お礼
参考URLどうもありがとうございます。 CGIもASPも全く知識がないのですが、とりあえずみなさまがご助言してくださったMaxLengthをもう少し自分なりに調べて使ってみようと思っています。
- cookei
- ベストアンサー率33% (4/12)
テキストエリアの文字数チェックはJavaScript側で行場合が多いです。 ↓----------------------------------------- <html> <head> <script language="javascript"> <!-- function checkLength() { var intMaxLength = 400; if (eval(document.form1.input1.value.length) > intMaxLength) { alert(intMaxLength + "字以下で入力してください。"); document.form1.input1.focus(); } } --> </script> </head> <body> <form name="form1"> <textarea name="input1" rows="5" onblur="checkLength();"></textarea> </form> </body> <html>
お礼
ソースを打っていただきまして感謝します! 入力フォームのかたちは、Perl(?)だったりCGIを使ったりいろいろあることがなんとなくわかってきてJavaScript で大丈夫なのかな? と思い始めていたので、安心しました。 どうもありがとうございました。
- Gimli
- ベストアンサー率47% (9/19)
作文なので、テキストエリアを使用しますよね。 ↓これはどうでしょう。 http://www.openspc2.org/reibun/javascript/form_textarea/005/index.html
お礼
こんなHPがあるのですね。 初心者の私は、ちょっと難しいと思ってしまいましたが、とても参考になりました。 どうもありがとうございました☆
- syonep
- ベストアンサー率26% (64/242)
<input type="text" max=800> じゃだめですか?
お礼
お早い回答をどうもありがとうございました。 JavaScriptは初心者なので、助かりました。
お礼
とても詳しい解説とソースをありがとうございます。 力不足なりに目指していた高き目標は、まさに、665さまが教えて下さった「最大文字数を越えていた場合は、送信できない」というものでしたが、 CGIのチェックをしなければならないのは…全くわからないので残念です。これからは CGIの勉強を少ししようと思います。 この場をおかりして、みなさん本当にどうもありがとうございました!