HTMLまたはCSSを使用したテキストボックスの数字入力関係について

このQ&Aのポイント
  • Webページでテキストボックスを作成し、数字の入力制限を設けたいがうまくいかない。
  • テキストボックスには10文字まで入力できるようにし、4文字でなければ送信できないようにしたい。
  • JavaでKeycodeを使用して入力制限を作ったが、使用者によってはKeycodeが異なるために問題が発生した。他のページでは主にVB関連の情報しか見つからず、HTMLで作成したいために困っている。
回答を見る
  • ベストアンサー

テキストボックスの数字入力関係 HTMLorSCC

Webページを作成していまして、問題に引っかかったので質問です。 テキストボックスを作成し、そこに数字を入力し判定したいのですが上手くいきません。 行いたいこと… ・テキストボックスに10文字ほど入力できるようにする ・ただし、4文字でなければ送信など出来ないようにする。  (入力できないようにする) ・入力する文字は全て数字(英語はNG) 郵便番号入力ファームのようなものをイメージして頂けるとわかりやすいと思います。 #テキストボックスで判定するのではなく、送信ボタンを押した際に  数字4文字かどうかで判定しても良いといわれたのですが、チンプンカンプンです… 色々調べてみて、JavaでKeycodeを弾くように作成してみたのですが、 使用者によってはKeycodeが違うからとダメ出しを食らいました… 他のページでは殆どVB関係しか扱っていませんでしたし、今回はどうしてもHTMLがらみで作成したいのです。 無知で申し訳ありませんが、是非ご教授ください。

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

  • ベストアンサー
noname#39970
noname#39970
回答No.3

>未入力 多分こう document.F1.T1.value="" >そもそも英語入力をさせない IMEによる日本語入力(など)が有るので確実な方法は存在しない 例え有ってもブラウザやOS依存

その他の回答 (4)

noname#39970
noname#39970
回答No.5

>スペースを許可しない 今度こそindexOf使ったら?

HIMEMO
質問者

お礼

ご返答有難うございます。 indexOfを利用して作成してみます。 ご丁寧にどうも有り難うございました。 以降、自分でがんばってみます。 #分からなくなったらまた書くかもしれませんが…;

noname#39970
noname#39970
回答No.4

= じゃなく == ・・・じゃないとおかしいかも

HIMEMO
質問者

お礼

ご返信、有難うございます。 単純に設定すればよかっただけなんですね… 最後に1点だけ… if(document.F1.T1.value.length == 4 || document.F1.T1.value == ""){ alert("設定します。"); document.F1.T2.value = xx; } else if(document.F1.T1.value == " "){ alert("桁数が間違っています。"); } else { alert("桁数が間違っています。"); } } 未入力通過は出来たので(英語入力は無理そうということが分かったし) 最後にスペースを許可しないようにしたいです。 上記のように打ち込んでみたのですが、一向に効果がなく スペースを間に入れるだけでも4文字とみなしてしまいますし、スペースだけでも通ってしまいます。 何か良い方法はないでしょうか?

noname#39970
noname#39970
回答No.2

document.F1.T1.value は入力した値を取れてる? 取れてるなら isNaN(document.F1.T1.value) だとどう?

HIMEMO
質問者

お礼

有難うございます!! 出来ました。 後2つ質問させてください。(何度もすみません) 未入力を許可したいです。(自分でも調べてみます。) テキストボックスにそもそも英語入力をさせない(受け付けない) ということは可能なのでしょうか?

noname#39970
noname#39970
回答No.1

java? javascriptならできるよ(javaとjavascriptは別物) 送信ボタンにonClickかformにonSubmitによってチェックするscriptを呼ぶ http://www.tohoho-web.com/js/index.htm http://www.tohoho-web.com/js/event.htm http://www.tohoho-web.com/js/form.htm

HIMEMO
質問者

お礼

良いサイトを教えていただき有難うございます。 そして、javascriptです。 ざっと作ってみたのですが… <script type="text/javascript"> <!-- function func() { var xx = parseFloat(document.F1.T1.value); parseFloat(xx); if(document.F1.T1.value.indexOf("a-z,A-Z,a-z,A-Z")<=0 || document.F1.T1.value.indexOf("0-9")>=0){ alert("半角数字で入力してください。"); return false; } if(document.F1.T1.value.length == 4){ alert("設定します。"); document.F1.T2.value = xx; } else { alert("桁数が間違っています。"); } } // --> </script> <form name="F1" action="#"> <input type="text" name="T1"> <input type="button" value="送信" onclick="func()"> <FORM onSubmit="alert('送信します')"> <br><br> <input type="text" name="T2"> </form> どうしても、数字のみという風にできません… document.F1.T1.value.indexOf("a-z,A-Z,a-z,A-Z")<=0 この辺りの書き方がよろしくないとは思うのですが。 もっと良いやり方などあればご教授頂けるとうれしいです。

関連するQ&A

  • 数字か文字列かを判定する関数

     JAVAの初心者です、宜しくお願いします。     テキストボックスに入力された値を、数字か文字列かを判定する関数ってありますか、VBでは「isNumeric」とかがあるのですが、JAVAではヒットしませんでした。  どこからどのように調べるのでしょうか。  いいサイトがあれば教えて下さい。

    • ベストアンサー
    • Java
  • テキストボックスに数字しか入力できないようにするには?

    タイトルの通りなのですが、あるテキストボックスに数字しか入力できないようにしたいのですが可能でしょうか?また、 「あいうえお 12345 「」:・、¥・」 というような文字列をコピーし、そのテキストボックスにペーストした際にも数字の12345だけが残るといった事も実現したいのですが… どなたかご存知の方いらっしゃいましたら教えて頂けると幸いです。

  • vb6でテキスト入力の数字を判定したい。

    お世話になります。 XPでvb6を使ってプログラムを作っています。 テキスト形式で入力された文字が数字の0から15までの数字かを判断したいのですが IsNumeric関数で数字か数字以外の文字かを判定した後、 VAL関数で判定とプログラミングしたところ 入力された値が”1d1”だと IsNumeric関数はTrue、VAL関数は10になり 正しい入力と判断されてしまします。 何かいい方法があればご教授頂きたく宜しくお願いします。 以上です。

  • テキストボックスに入力された値の判定

    Visual Studio2010初心者です。C#で学習しています。 テキストボックスに入力された値が数字(0~9)かそうじゃないか判定をしたいです。 テキストボックスに文字が入力されたらエラーとして検知したいのですが、どのように処理をすればよろしいでしょうか? ネットで調べるとTryParseメソッドでできるみたいですが、よくわかりません・・・ よろしくお願いします。

  • VBS Webのテキストボックスに入力

    VBSでWEB上の指定したページの複数のテキストボックスに特定の文字を入力するコードを作成しています。しかし、テキストボックスに文字がすでに入力されていると、上書きされてしまいます。テキストボックスに文字が入力されているか判断して、入力されていれば文字を入力しない。また、入力されていればその続きに文字を入力する方法はあるのでしょうか?あるならば方法を教えて欲しいです。

  • テキストボックスの入力制限

    VB2005環境です。 ・全角文字のみ入力を受け付けるテキストボックス ・半角文字のみ入力を受け付けるテキストボックス 以上のような入力制限を持つコントロールを用意したいと思っています。 MaskedTextBoxを用いればできるかと思いましたが、それらしき プロパティが見当たりませんでした。 やはりキーイベントを取得して…ということになるのでしょうか?

  • テキストボックスに「00000」を入力すると「0」になってしまう

    あるテキストボックスには5桁の半角数字を入力させるようにしたいと思っています。 このテキストボックスには以下の入力チェックをかけていますが、「00000」を入力すると「0」と判断されてしまい。一つ目のチェックに引っかかってしまいます。 これを文字列として判断する方法はありますか? または、以下のチェックに引っかからない方法はありますか? よろしくお願いいたします。 (codeにはvalueが入っています。) if(code == 0){ alert("入力してください。"); return false; } if(isFinite(code) == false){ alert("半角数字を入力してください。"); return false; } if(code.length != 5){ alert("5桁入力してください。"); return false; }

  • テキストボックスの入力抑制

    使用言語はVB.NETです。 フォームAのテキストボックスAに文字を入力し確定すると、 フォームBが起動、フォームBのテキストボックスには、 テキストボックスAで入力した内容が表示されており、それを 変更することはできない。 ただし、テキストボックスAに何も入力せずに起動した場合、 テキストボックスBの内容は書き換え可能、というようなものを 作りたいと思っています。 また、テキストボックスBを入力不可にするには、Enabled=False 以外の方法で行いたいのです。 例えば、テキストボックスAで1と入れた場合、テキストボックスBの 初期表示1をBSで消しても、違う値をいれても、常に1に表示が戻される、 というようなものにしたいのですが…。 上記のようなものを作るには、どのように処理を作っていけば 良いのでしょうか? サンプル的なコードを教えていただけるとありがたいです。 よろしくお願いします。

  • 【C#】コンボボックスに任意の数字を入力し、それをテキストボックスに表

    【C#】コンボボックスに任意の数字を入力し、それをテキストボックスに表示させる方法 C#初心者です。 コンボボックスの処理につまずいています。 <処理> 1.コンボボックスに任意の数字を入力できるようにしておく。 2.そして、任意の数字を入力する。 3.ボタンを押したら、その入力した数字がテキストボックスに表示される。 1と2はできるのですが、3がよくわかりません。 どなたかご教授いただけると幸いです。 宜しくお願いいたします。

  • エクセルVBA テキストボックスに入った数字を・・・

    いつも皆様に大変お世話になっております。 またまた、VBAで困っております;; テキストボックスに入った数字を、小文字でも大文字でもどちらが入力されても、大文字と認識したいのですが、どうしたらよろしいのでしょうか? ちなみに、小文字の方も教えてくれたらうれしいな・・・ 宜しくお願いいたします。