- ベストアンサー
HTMLまたはCSSを使用したテキストボックスの数字入力関係について
- Webページでテキストボックスを作成し、数字の入力制限を設けたいがうまくいかない。
- テキストボックスには10文字まで入力できるようにし、4文字でなければ送信できないようにしたい。
- JavaでKeycodeを使用して入力制限を作ったが、使用者によってはKeycodeが異なるために問題が発生した。他のページでは主にVB関連の情報しか見つからず、HTMLで作成したいために困っている。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>未入力 多分こう document.F1.T1.value="" >そもそも英語入力をさせない IMEによる日本語入力(など)が有るので確実な方法は存在しない 例え有ってもブラウザやOS依存
その他の回答 (4)
>スペースを許可しない 今度こそindexOf使ったら?
= じゃなく == ・・・じゃないとおかしいかも
お礼
ご返信、有難うございます。 単純に設定すればよかっただけなんですね… 最後に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文字とみなしてしまいますし、スペースだけでも通ってしまいます。 何か良い方法はないでしょうか?
document.F1.T1.value は入力した値を取れてる? 取れてるなら isNaN(document.F1.T1.value) だとどう?
お礼
有難うございます!! 出来ました。 後2つ質問させてください。(何度もすみません) 未入力を許可したいです。(自分でも調べてみます。) テキストボックスにそもそも英語入力をさせない(受け付けない) ということは可能なのでしょうか?
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
お礼
良いサイトを教えていただき有難うございます。 そして、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 この辺りの書き方がよろしくないとは思うのですが。 もっと良いやり方などあればご教授頂けるとうれしいです。
お礼
ご返答有難うございます。 indexOfを利用して作成してみます。 ご丁寧にどうも有り難うございました。 以降、自分でがんばってみます。 #分からなくなったらまた書くかもしれませんが…;