0

JavaScript関数で整数値のみを入力するためにASP.TextBoxを検証したい。ユーザーが非整数値を入力した場合、警告メッセージを表示し、現在の要素にフォーカスを維持する必要があります。次の手順を使用しました。

Web ページの Asp.TextBox 要素:

onchange="return isInteger(this);" onblur="return isInteger(this);"

functions.js ファイルの関数の検証

function isInteger(mobj) {
var mval = mobj.value;
if (isNaN(parseInt(mval))) {
    alert("Plese Enter a Valid Integer...!");
    mobj.focus();
    return false;
}
 return true; 
}

それは正しいですか、または検証を行う正​​しい方法はありますか。よろしくお願いします。

4

4 に答える 4

0

はい、その考えは正しいです。それが、テキストボックスを検証する必要がある方法です。

JavaScript を使用してテキスト ボックスの値を検証する

http://social.msdn.microsoft.com/Forums/en-US/netfxjscript/thread/07a91c1d-34db-44d8-9bd6-a424394a7028/

または、テキスト ボックスで onKeyUp() を使用して、テキスト ボックスの値をチェックし、入力が整数でない場合は false を返す別の方法があります。

于 2013-01-03T14:19:46.653 に答える
0

ASP.NET RegularExpressionValidatorコントロールを使用して、テキスト ボックスの入力値を検証できます。

例えば。

<asp:TextBox id="textbox1" runat="server" />
<asp:RegularExpressionValidator
ControlToValidate="textbox1"
ValidationExpression="\d{1,10}"
ErrorMessage="Plese Enter a Valid Integer...!"
runat="server" />
于 2013-01-03T14:21:54.660 に答える
0

アイデアは正しいですが、onchange で十分です。onblur は必要ありません。なぜなら、コントロールがフォーカスを失うたびに (つまり、タブを移動するか、単にクリックするだけで) 何も変更せずに検証したくないからです。

于 2013-01-03T14:25:32.937 に答える
0

onblurここでの検証には十分です..

onchangeと を一緒に使用するとonblur、2 つのアラートが作成されることがあります。つまり、フォーカスが失われ、onchange同時に発火した場合などです...

ここで試してみてください...

onchange を単独で使用すると、最初にテキストを変更しないでフォーカスを失ったときにのみアラートが表示されます

onkeyup最良の代替手段になる可能性がありますが、それでもここのようにテキストボックスの値をクリアする必要がある場合があります...

于 2013-01-03T14:28:16.207 に答える