JavaScript を使用してグリッドビューのテキスト ボックスで数値のみを受け入れるようにクライアントで検証します。
2 つのラベルと 1 つのテキスト ボックスを持つグリッドビューがあります。私が望むのは、ユーザーがテキストボックスの値1〜100を入力することだけです。ASP.Net でこれを行うにはどうすればよいですか。
JavaScript を使用してグリッドビューのテキスト ボックスで数値のみを受け入れるようにクライアントで検証します。
2 つのラベルと 1 つのテキスト ボックスを持つグリッドビューがあります。私が望むのは、ユーザーがテキストボックスの値1〜100を入力することだけです。ASP.Net でこれを行うにはどうすればよいですか。
//Html
<input type="text" name="textboxId" id="textboxId"/>
//Javascript
var val = document.getElementById('textboxId').value;
if(val < 1 || val > 100){
alert('Value must be between 1 and 100');
return false;
}
サポートするブラウザーによっては、JavaScript を記述する必要がない場合があります。HTML5 では、min 属性と max 属性をサポートするtype=numberなどの新しい入力タイプがいくつか追加されました。
現時点ではサポートが不安定ですが、これが役立つかもしれません。
これを試して
<asp:TextBox ID="Num" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ForeColor="DarkOrange" ValidationExpression="^[1-9][0-9]?$|^100$" ControlToValidate="Num" runat="server" ErrorMessage="accept only numbers between 1 to 100"></asp:RegularExpressionValidator>
onkeydown を追加して、入力を検証できます。必要ない場合は false を返します。
node.onkeydown = function(a_event)
{
// validate non number input
if ((a_event.keyCode >= 65 && a_event.keyCode <= 90))
return false;
};
さらに、入力をparseIntしてfalseを返すこともできます