• 締切済み

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

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

みんなの回答

  • 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の方はテキストエリアを大きくしても、私の環境ではスクロールバーが出っぱなしです。 いろいろ試してみます。 くろぶた