ورود

View Full Version : تکس باکس فقط عدد را قبول کند



nasimnastaran
چهارشنبه 23 آذر 1384, 17:41 عصر
با سلام !
من میخواستم زمانی که اگر کاربر در داخل تکس باکس غیر از عدد وارد کند ، آنرا بلافاصله پاک کند و تابع ذیل نوشته و آنرا در رویداد TextChanged فراخوانی کردم :


public bool IsNumeric(string val)
{
try
{
double result = 0;
return Double.TryParse(val, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.CurrentInfo, out result);
}
catch
{
return false;
}
}
----------------------------------------------------------------------

private void txt_Age_TextChanged(object sender, System.EventArgs e)
{
if (this.IsNumeric(txt_Age.Text.ToString())==false)
{
txt_Age.Text="";
}


اما این زمانی کار می کند که کاربر بعد از نوشتن کارکتر غیر عددی دکمه Enter را فشار دهد یا صفحه referesh شود . در صورتی که همان لحظه این کار صورت نمی گیرد .
لطفا راهنمائی ام کنید ؟
با تشکر

sh_mohsen taki
چهارشنبه 23 آذر 1384, 22:34 عصر
با سلام
روی وب این حالت تقریبا به روش ویندوزیش غیر ممکنه چون هی بایدpostback بشه برا همین یدونهvalidation summary بنداز و show messagebox اونو true کن حالا یدونهRegularExpressionValidatorبنداز و روی باکست تنظیم کن و خاصیت validation expression اونو \d{*} قرار بده حالا این کدا رو نمیخواد ولی جواب میده
اما اونی که تو میخوای با جاوااسکریپت میشه که من هم نه به این خاطر ولی به دلایل دیگه محتاجشم اگه پیدا کردی برا منم بفرست

mehrdotnet
پنج شنبه 24 آذر 1384, 00:47 صبح
البته همین رو جناب راد دقیقترش رو در تاپیک زیر لطف کردن (سوال 40) :
http://www.barnamenevis.org/forum/showthread.php?t=33131
تاپیک جالبیه خیلی از سوالات و مشکلات عمومی رو حل میکنه! امیدواریم این تاپیک همچنان روز به روز پیشرفت داشته باشه.