PDA

View Full Version : سوال: رویداد keypress در Asp.net و جدا کردن سه رقم سه رقم در این رویداد



saidhani
جمعه 18 بهمن 1392, 20:03 عصر
با سلام من می خواهم در asp وقتی کاربر اعداد را در textbox وارد میکند همزمان اعداد سه رقم سه رقم جدا شوند
دو تا سوال دارم
1-با توجه به اینکه متوجه شدم که رویدادی در asp به نام KeyPress برای تکس باکس وجود ندارد و باید یک روال جاوااسکریپت برای آن نوشت خواهش میکنم دوستان در این مورد راهنمایی کنند.
2-آیا در یک برنامه که به این صورت با هر بار فشار کلید یک بار این روال جداسازی سه رقم سه رقم انجام می شود به سرور فشار وارد می شود ؟یا ممکن است باعث درگیر شدن بیش از حد سرور در اعداد بزرگ (در حد میلیارد ریال) و بروز خطا شود.

Sharar3D
شنبه 19 بهمن 1392, 01:30 صبح
<script type="text/javascript">

function CommaSeparation(txt) {
txt.value = txt.value.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");;
};

</script>


<asp:TextBox runat="server" ID="txtBox" onchange="CommaSeparation(this)"></asp:TextBox>

2 : جاوااسکریپت روی مرورگر کاربر اجرا میشه و چیزی به سرور ارسال نمی کنه که بخواد اون رو درگیر کنه.

پ ن : محدودیت کد بالا در اینه که پس از ترک TextBox یا همون Focus Lost تغییرات رو اعمال میکنه.
اگه میخوای که همون حین وارد کردن اعداد تغییرات اعمال بشه باید از یک سری کتابخونه های جاوا اسکریپت مثل jQuery استفاده کنی.

kamranetemadi
شنبه 19 بهمن 1392, 10:27 صبح
این فایل jquery رو اد کن
فقط کافیه به تکست باکست کلاس number بدی برات کاری که میخوای انجام میده :لبخندساده:

ehsan_zangane
چهارشنبه 06 اردیبهشت 1396, 23:39 عصر
سلام منظورتون از اد کردن کد زیر هست دیگه
<script src="jquery.number.min.js" type="text/javascript"></script>
و از کد زیر هم استفاده کردم

<asp:TextBox Id="TextBox1" CssClass="number" runat="server"></asp:TextBox>
اما جوابی نگرفتم
ضمنا من از سی اس اس برای قالب بندی به فرم ها و فیلدهام استفاده کردم تکلیف css های فیلد چی میشه این فایل مگه js نیست چطوری باید در CssClass فراخوانش کرد