• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストボックスの数字入力関係 HTMLorSCC)

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

このQ&Aのポイント
  • Webページでテキストボックスを作成し、数字の入力制限を設けたいがうまくいかない。
  • テキストボックスには10文字まで入力できるようにし、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