• ベストアンサー

フォームの<textarea>の最大文字数を制御する方法

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

質問者が選んだベストアンサー

  • ベストアンサー
  • elttac
  • ベストアンサー率70% (592/839)
回答No.1

 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>

noname#10831
質問者

お礼

おおっ すばやい回答ありがとうございます 極力javascriptを使うことを避けていたのですが、 この用途にぴったりだと思いました(^^ javascriptを無効にしてまでオーバーした書き込みをする相手には CGI側で処理すればいい・・・ですよね?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • elttac
  • ベストアンサー率70% (592/839)
回答No.2

 No. 1 の回答をつけた者です。  はい,おっしゃるとおり,JavaScript などの「クライアントサイドスクリプト」は「サーバまで送らないといけなかったような処理をクライアント側で済ませる」のに適しています。  以前,マルチラインテキストボックスを,字数制限のもとで書きやすくするために,「文字数カウント」のボタンも設け,字数をカウントして表示させるスクリプトを走らる気の利いたサイトも見たことがあります。  JavaScript が無効になっていた場合もおっしゃるとおりで,CGI プログラムの側でもチェックしなければなりません。  もっと悪質な場合として,フォームを偽装して巨大データをポストすることも考えられますし。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォームの<TEXTAREA>で文字数制限する方法はありますか?

    こんにちは。フォームの<TEXTAREA>で入力文字数を制限をする方法を知りたいのですが、解る方がいらっしゃいましたら教えてください。 MAXLENGTHなどは使用できないようでしたので、Javascriptでの制限方法などがあるのかなと思い書き込みさせていただきました。具体的には全角150文字前後に制限したいと思っております。(※前後全角10文字くらいは誤差があってもかまいません。) サーバーサイドではなくクライアントサイドで動く仕様のものが良いので、こちらに書き込みさせていただきました。よろしくお願い致します。

  • フォームの文字数制限を解除したい

    kent webさんのフォームメールを使っているのですが、文字数制限があり、メッセージを沢山入力すると、「メッセージの入力内容が大きすぎます」というエラーがでてしまいます。300文字程度は入力できるようにしたいと思います。textarea に関する何を改造すればうまくいくでしょうか?皆さんよろしくお願いします。

    • ベストアンサー
    • CGI
  • 入力制限文字数に関するタグについて

    入力制限文字数に関するタグについて 1) <TEXTAREA>タグを利用した場合の入力文字制限数を指定できるステップを教えてください。 同時に、制限数を超えた場合は、「入力文字が***文字を超えています」等のメッセージも出したいのですが・・・ 2) 1)以外のタグで同じ効果を得られるものをご存知でしたら、合わせてお教えください。

  • フォームの入力制限(特定文字)についてHelpです。

    JavaScriptを使った送信フォームの文字制限について教えてください。 HTMLで送信フォームを作成して、プロバイダ標準のフォームCGIで送信したいのですが、メールアドレスの入力欄をhotmailとかgooなどのフリーメールを入力したら、送信できないようにしたいのですが、どなたか教えてください。

  • Textareaの入力文字数チェックについて(タグ無視)

    TEXTAREAの文字数チェックまではできるのですが しかし、今回はHTMLのタグも入力されます。 タグを無視した文字数もカウントをやりたいです。 PHPにはそのような関数があったような気がしますが ... JavaScriptではどのようにすれば実現できるのでしょうか? タグの文法エラーはない前提でよいです。 よろしくお願いします。 <html> <head> <title>入力文字数のチェック</title> <script language="JavaScript"> function check() { txt = document.form1.sample.value; n = txt.length; if (n > 100) alert("100文字以内にしてください"); } </script> </head> <body> <form name="form1"> <textarea rows="10" name="sample" onChange="check()" cols="20"></textarea> </form> </body> </html>

  • textareaの一行の文字数制御

    textareaの一行あたりの文字数を制御、 もしくはカウントすることは可能でしょうか? (textarea全体の文字数ではありません。) cols="100"などと一行の文字数を制御しようとしましたが 横のスクロールバーを表示させると(WRAP="off") どうもうまくいきません。 良い方法をご存知の方がいらっしゃいましたら よろしくお願いします。

    • ベストアンサー
    • HTML
  • フォーム要素の文字数制限について

    それぞれのフォーム要素に文字数(またはバイト数)の制限ってあるんでしょうか? あるとしたら何文字ですか? maxlengthなどで指定する値や、受け取るプログラム側の制限ではなく、HTMLの仕様としての制限についてです。 特に知りたいのが、隠しフィールド(input type="hidden")の文字数制限です。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • <textarea>で「入力内容が大きすぎます」というエラーがでる

    お問い合わせフォームcgiを作成中です。 テスト送信をしているのですが、テキストエリア(問い合わせ内容)の文字数でエラーがでます。約100文字打ち込んで送信ボタンを押すと 次ページで「”問い合わせ内容”の入力内容が大きすぎます」というエラーがでます。約20文字ではエラーはでません。 私は、問い合わせ内容に入力する文字数の制限はかけていないつもりなのですが。 実際のタグです。 お問い合わせ内容<textarea name="お問い合わせ内容"></textarea> CGIは、kent webさんのpostmail Ver: 4.11 をお借りしています。

    • ベストアンサー
    • HTML
  • textareaで入力できる文字数を制限したい。

    フォームについて質問させてください。 テキストフィールドで、シングルラインならば入力できる文字の最大数を maxlength で指定できるのですが、マルチラインの場合、同様に最大数を指定することはできないでしょうか? わかるかた、なにとぞご教授ください。 ■シングルラインでの文字数制限 <input name="thread_title" type="text" id="thread_title" size="80" maxlength="10"> ■マルチライン <textarea name="text" cols="64" rows="10" id="news_text" maxlength="10"></textarea> ↑上記のようにmaxlength入れても駄目でした。。。涙

    • ベストアンサー
    • HTML
  • 文字数について

    プログラム初心者です mysqlのカラム、varchar(255)に実験で270文字HTMLフォームからmysqlに入れてみました そうしたら、255文字しか保存されていませんでした もしかしたら、PHPで文字数制限しなくてもmysql側のカラムの文字数設定だけでいいのではないかと思ってしまいましたがこれだと不具合とかでてきますか? データ型のtextも文字数指定できるのでしょうか? やっぱり、文字数制限はPHPなどでやったほうがいいのでしょうか? よろしくお願いします

    • ベストアンサー
    • MySQL
このQ&Aのポイント
  • DCP-J988Nの紙詰まりのエラーが表示されていますが、実際には紙が詰まっていない状態です。どのような状況でエラーが発生したか詳細をお教えください。
  • DCP-J988Nの紙詰まりエラーのトラブルについて相談です。エラーが出ていますが、紙が詰まっていないのです。エラーの発生経緯や試したことなど、具体的な情報を教えてください。
  • DCP-J988Nの紙詰まりエラーについて相談です。エラーが出ている状態ですが、実際には紙は詰まっていません。どのようなエラー表示が出ているか具体的な情報を教えてください。
回答を見る

専門家に質問してみよう