DOBON.NET DOBON.NETプログラミング掲示板過去ログ

テキストボックスに数字のみ入力したい

環境/言語:[Win 2000 Pro VB.NET]
分類:[ASP.NET]

こんにちは

今回はASP.NETでのテキストボックスについて質問したい
のですがよろしいでしょうか

テキストボックスに入力を行った時に数字以外のものが
入力された場合テキストボックスに反映されないように
したいのですが可能でしょうか?

ちなみにjavascriptの方でいろいろと検索してみたの
ですがみつかりませんでした。
(テキストボックスを入力した時にメッセージボックス
 をだしたり、文字に対してアクションを起こすような
 のはたくさんあったのですが。)

わかる方がおられましたらお願いします。
ども。こんにちは。

■No13734に返信(こうさんの記事)
> テキストボックスに入力を行った時に数字以外のものが
> 入力された場合テキストボックスに反映されないように
> したいのですが可能でしょうか?

こんなのがありましたが、どうでしょうか。
http://www.rfs.jp/sitebuilder/javascript/script01/04.html
たぬぽんさんお返事どうもありがとうございます。

サイトの方を見させていただいたのですが、
自分が実現したいのはボタンを押された時点
で判定するのではなく、一回一回入力する
たびにチェックをかけ入力させないようにし
たいのですが・・・
自分の説明不足のために申し訳ないです。

わかる方おられましたらお願いします。
以下が参考になると思います。

テキストボックスに入力制限をかけたい
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17787&forum=7&6
trapemiya さんありがとうございます。

サイトの方参考にさせていただいた通りに
実装したところ正常に動作しました。

If Not IsPostBack Then
Dim scriptstring As New System.Text.StringBuilder
With scriptstring
.Append("<SCRIPT language='JavaScript' src='Test.js'>")
.Append("</SCRIPT>")
End With
If Not IsClientScriptBlockRegistered("clientScript") Then
RegisterClientScriptBlock("clientScript", scriptstring.ToString)
End If
Me.TextBox2.Attributes("onkeyPress") = "CheckNum()"
End If


ここでもう一つ質問したいのですが 上記より通常のHTMLで
<html>
<head>
<title>テキストフィールドに数値以外入力できないようにする</title>
<script Language="JavaScript"><!--
function CheckNum()
{
if (((event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 45) && (event.keyCode!=46)){
window.event.returnValue = false;
}
}
// --></script>
</head>
<body>
<form>
<input type="text" onKeyDown="checkNum()">
</form>
</body>
</html>

とかいてテキストボックスに入力を行ったところエラー
メッセージ:オブジェクトを指定して下さい。
とのエラーがでます。 どこがおかしいのでしょうか??

わかる事があればお願いします。
■No13743に返信(こうさんの記事)
> <html>
> <head>
> <title>テキストフィールドに数値以外入力できないようにする</title>
> <script Language="JavaScript"><!--
> function CheckNum()
> {
> if (((event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 45) && (event.keyCode!=46)){
> window.event.returnValue = false;
> }
> }
> // --></script>
> </head>
> <body>
> <form>
> <input type="text" onKeyDown="checkNum()">
> </form>
> </body>
> </html>

onKeyDownに指定している関数名と
実際の関数名が異なるからじゃないですか?
#checkNumとCheckNum
封真さんありがとうございます。

おっしゃるとおり大文字と小文字の違いでした。
VBばかりやってるのであまり意識してませんでした。
反省です。

なんとか解決することができました。
みなさんほんとうにありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板