• 締切済み

フォームテキストエリアの文字制限について

** どなたか分かる方、教えてください。 フォームのテキストエリア(複数行の)で、 1.入力できる文字数を制限したい(200文字とか) 2.テキストエリアの右側に出てくるスクロールバーを消したい ・・・のですが、出来そうなのに、私にはできません。 cgiは使えない環境です。 あとはどんな方法もOKです。 何か方法がありますか? --------- くろぶた

  • HTML
  • 回答数4
  • ありがとう数6

みんなの回答

  • karoyo
  • ベストアンサー率45% (9/20)
回答No.4

スクロールバーに関しましては <TEXTAREA ROWS="10" COLS="30" WRAP="hard"> っていう風に[WRAP]を付けるとうまくいくと思いますよ。 *参考* WRAP="hard" = 横幅いっぱいまで記入したら自動改行 WRAP="soft" = 表示上は自動改行するが実際の送信データは改行されない WRAP="off" =自動改行しない

blackpig
質問者

お礼

karoyoさん、ありがとうございました。 お礼が遅くなりすみません。 同じようにやってみたのですが、 どうしてもテキストエリア右側のスクロールバーが消えません。 いろいろやってみます。 ありがとうございました。 くろぶた

  • ryouchi
  • ベストアンサー率41% (52/125)
回答No.3

----- begin cut here ----- <html> <head> <script language="JavaScript"> <!-- function up_check(){ if(document.upload.comment.value.length >10){ alert("文字がおおすぎじゃん?"); return false; } return true; } function pCheck(){ if(document.upload.comment.value.length > 10){ alert("文字がおおすぎじゃん?"); return false; } return true; } //--> </script> <title>たいとる</title> </head> <body> <form method="POST" action="./hoge.html" name="upload" onsubmit = "return up_check()"> <textarea name="comment" rows="10" cols"50" onKeyDown "JavaScript:pCheck();//"></textarea> <input type="submit" name="chk" value="送信"> </form> </body> </html> ----- end cut here ----- で、どうでしょう? onKeyDownはキーを入力したらイベント発生ってかんじです。 up_check()も残しているのは、コピー・ペーストで入力されたとき用です。 どうかしら?

blackpig
質問者

お礼

ryouchiさん、ありがとうございます。 暫く出かけていたので、お礼が遅くなってすみませんでした。 ばっちりアラートはでるのですが、 どうも、思い描いているものと違います。 うーん。 もっと勉強します。

  • ryouchi
  • ベストアンサー率41% (52/125)
回答No.2

下記要領で、文字数のチェックをしてはどうでしょう。(10文字で制限した例) ただ、CGIが 使えない環境で、入力文字数を制限するというのは? メールかなにかで送るのでしょうか? ----- begin cut here ----- <html> <head> <script language="JavaScript"> <!-- function up_check(){ if(document.upload.comment.value.length >10){ alert("文字がおおすぎじゃん?"); return false; } return true; } //--> </script> <title>たいとる</title> </head> <body> <form method="POST" action="./hoge.html" name="upload" onsubmit = "return up_check()"> <textarea name="comment" rows="8" cols"25"></textarea> <input type="submit" name="chk" value="送信"> </form> </body> </html> ----- end cut here -----

参考URL:
CGIが使えない環境で、入力文字数を制限する
blackpig
質問者

お礼

ryouchiさんありがとうございました。 ちゃんとアラートでました。 一歩前進です。 できれば、テキストエリアは、 ●●文字×●●行、と決めてしまって、 それ以上は改行しようがどうだろうが、文字を受け付けないようにしたいです。 (現在の状態は、とりあえず、送信する前まではどんどん文字が入る) なにかよい方法あれば教えてください。 くろぶた

noname#9414
noname#9414
回答No.1

1. JavaScriptで文字数をカウントする。 2. テキストエリアを大きくする 以上です。 ではでは☆

blackpig
質問者

お礼

Kanataさん、ありがとうございました。 1のJavaはなんとかなりそうなのですが、 2の方はテキストエリアを大きくしても、私の環境ではスクロールバーが出っぱなしです。 いろいろ試してみます。 くろぶた

関連するQ&A

  • テキストエリアの文字制限をはずしたい。

    メールフォームにてテキストエリアに文字制限を外したいです。 kent-webを流用しています。 テキストエリアに文字数の制限があるようなのではずしたいのですがいかんせん、どこをいじればよいのかわかりません。 よろしくおねがいします。

    • ベストアンサー
    • CGI
  • 複数行テキストエリアについて

    複数行テキストエリアのデータを CGIで文字数・エラー文字などをチェックし、 その結果によって、テキストエリアを編集可能にしたり、編集不可能にしたりしたいのですが、その方法がイマイチ分かりません。 cgiはperlで作っており、 $txt 加工したテキストデータ $flg 判定フラグ(0:OK 0以外:NG) として if($flg != 0){  加工したテキストを表示し、編集可能状態のテキストエリアのHTMLタグ }else{  加工したテキストを表示し、編集不可能状態のテキストエリアのHTMLタグ } というようにしたいのですが、どのようにテキストエリアに加工したテキストデータを渡せばよいのかが分からず困っています。 すみませんが教えて下さい。

    • ベストアンサー
    • Perl
  • テキストエリア文字制限について

    テキストエリア文字制限について 失礼します。 javascript初心者です。 複数のテキストエリアの文字制限を行いたく 苦戦しております。 いろいろと検索してみましたが・・・ 2日ほど悩んでおります。 AとBでエラーが出た場合はCGIに流れず入力フォームに戻るのですが Bでエラーが発生しない場合CGIに流れてしまいます。 ですの文字数制限をしても結局CGIに流れてしまうのですが どのように記述すればよろしいでしょうか?? なんとか・・・ご教授いただければ幸いです。 よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>入力文字数の制限</title> <script language="javascript" type="text/javascript"> <!-- var MAXLENGTH = 10; //入力許容最大文字数 function tareachk(frm){ var tmp = frm.vin1.value; var len = tmp.length; if(len > MAXLENGTH){alert("A入力可能な文字数は"+MAXLENGTH+"文字までです");} var tmp = frm.vin2.value; var len = tmp.length; if(len > MAXLENGTH){alert("B入力可能な文字数は"+MAXLENGTH+"文字までです");} else{frm.submit();} } // --> </script> </head> <body> <form action="ccccc.cgi" method="post"> <textarea name="vin1" rows="5" cols="30">10文字まで入力可能</textarea><br> <textarea name="vin2" rows="5" cols="30">10文字まで入力可能</textarea><br> <input type="button" value="GO" onclick="tareachk(this.form);"> </form> </body> </html>

  • テキストエリアについて

    テキストエリアにでるスクロールバーを表示させない方法をおしえてください。 たぶん、CSSを使うのだろうと思いますが、CSSにあまりくわしくないのでできませんでした。

  • ユーザーフォームにテキストフィールドを作りたい

    エクセルでユーザーフォームに、テキストフィールド(テキストを複数行に渡って入力でき、右側に上下に動かせるバーがあるもの)を作りたいんですが、どうやって作れば良いのでしょうか? ご存知の方、ご教授ください。 Excel2003です。

  • フォームのテキストエリアの文字異常

    フォームでテキストエリアの文字異常が発生します。 入力欄内で行った改行部分が、 phpのプログラムでデータを受け取ると 「&#13;」という、 多分エスケープ文字だと思うんですが、 変な文字列になってしまいます。 これを回避する方法はありますでしょうか。

    • 締切済み
    • PHP
  • 一行テキストボックスの縦配置

    縦書きの手紙を書いているように、フォームの一行テキストボックスを縦文字(漢字で名前などを)入力できる様にしたいのですが、可能でしょうか。可能な方法があるなら、html以外でも教えて下さい。可能な場合、スクロールテキストボックス(複数行のテキストエリア)も同じに出来ますか。

  • テキストエリアの改行を取得したい

    最近CGIを独学ではじめたのですが、複数行のテキストエリアからの文字列の取得をした場合、改行が反映されずに表示されます。 改行コードのようなものは取得されている、とちらりとどこかで見たことがあるのですが、どのように取得して改行させるかが分かりません。 すみませんが、ご存知の方がいらっしゃいましたら教えていただけないでしょうか。 このような感じで書きました。 my $cgi = CGI::new(); my $area = $cgi->param('text'); print "Content-type: text/html\n\n"; print $area;

    • ベストアンサー
    • CGI
  • テキストエリアのフレームを外したい。

    どうしても、テキストエリアの縦のスクロールバーが 出来てしまします。 これを消すタグをご存じの方、教えてくださいませ。

  • 自分のホームページにフォームのテキストエリアを入れてみたいのですが...?

    自分のホームページにフォームのテキストエリアを入れてみたいのですが、CGIの知識は必要なのですしょうか? 本を買って、CGIの勉強をしようと思っているのですが、私は、自分のホームページに、「いつでも、何処でも(インターネットがつかえる所なら)記入できる」メモ帳というか、日記帳みたいなものを作りたいのですが、CGIを一通り勉強しないと使えないものなんでしょうか?

    • ベストアンサー
    • CSS

専門家に質問してみよう