نمایش نتایج 1 تا 15 از 15

نام تاپیک: اضافه شدن کاما در textbox

  1. #1

    اضافه شدن کاما در textbox

    با سلام

    دنبال یک کد جاوا اسکریپت میکشتم که وقتی در textbox عددی رو تایپ میکنیم خود به خود کاما قرار بده بین اعداد.

    مثلا وقتی مینویسیم 10000 خود به خود بنویسه 10,000 ممنون ممنون میشم اگر کسی کدشو بلد باشه.

    با سپاس / الهام
    آخرین ویرایش به وسیله elham1611 : شنبه 31 مرداد 1388 در 23:22 عصر

  2. #2
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اضاف شدن کاما در textbox

    سلام.

    می تونید از این استفاده کنید:

    <script>

    function addCommas(nStr)
    {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
    }

    </script>

    <input type="text" onchange="this.value = addCommas(this.value)" />

  3. #3

    نقل قول: اضاف شدن کاما در textbox

    نقل قول نوشته شده توسط Amin eHelp مشاهده تاپیک
    سلام.

    می تونید از این استفاده کنید:

    <script>

    function addCommas(nStr)
    {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
    }

    </script>

    <input type="text" onchange="this.value = addCommas(this.value)" />
    ازتون ممنون تقریبا به هدفم نزدیک شدم
    اما درخواست من اینه که هنگام تایپ کردن عدد خود به خود بین هر سه عدد کاما قرار بده .
    این کد وقتی عمل میکنه که از روی تک باکس بخواهیم خارج شویم.

    وقتی هم که به جای onchange از Onkeypress استفاده میکنم بین هز یک عدد یک کاما قرار میده.

    ممنون میشم راهنمایم کنید./الهام

  4. #4
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اضافه شدن کاما در textbox

    کد قبلی مشکلاتی داشت که خودتون هم بهش پی بردید، ولی خب... کد زیر راه حل مشکل شماست:
    <script>

    function intFormat(number) {
    var regex = /(\d)((\d{3},?)+)$/;
    number = number.split(',').join('');

    while(regex.test(number)){
    number = number.replace(regex, '$1,$2');
    }
    return number;
    }


    function numFormat(number) {
    var pointReg = /([\d,\.]*)\.(\d*)$/, f;
    if(pointReg.test(number)){
    f = RegExp.$2;
    return intFormat(RegExp.$1) + '.' + f;
    }
    return intFormat(number);
    }


    </script>

    <input type="text" id="txt" onchange="this.value = numFormat(this.value)" onkeyup="this.blur();this.focus()" />

  5. #5

    نقل قول: اضافه شدن کاما در textbox

    ممنون خیلی
    شما در زمینه برنامه نویسی واقعا توانا هستید.

  6. #6
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    Exclamation نقل قول: اضافه شدن کاما در textbox

    بسیار عالی، ممنون دوست عزیز
    ولی یک مشکل :معمولا وقتی به تکست باکس این خاصیت را اضافه میکنیم وقتی خاسیت تکست لز تکست باکس را میگیریم عدد با کاماها را نشون میده در صورتی که ما معمولا فقط خود عدد را میخواهیم و اوون کاماها را برای راحتی کاربر میزاریم؟
    حالا به نظر شما به عدد داخل تکست باکس (بدون کاما) چطوری باید دسترسی داشته باشیم؟؟
    پیشاپیش ممنون

  7. #7
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اضافه شدن کاما در textbox

    نقل قول نوشته شده توسط ali_yousefian19 مشاهده تاپیک
    بسیار عالی، ممنون دوست عزیز
    ولی یک مشکل :معمولا وقتی به تکست باکس این خاصیت را اضافه میکنیم وقتی خاسیت تکست لز تکست باکس را میگیریم عدد با کاماها را نشون میده در صورتی که ما معمولا فقط خود عدد را میخواهیم و اوون کاماها را برای راحتی کاربر میزاریم؟
    حالا به نظر شما به عدد داخل تکست باکس (بدون کاما) چطوری باید دسترسی داشته باشیم؟؟
    پیشاپیش ممنون
    زمان دریافت مقادیر textbox در سرور کاما رو split کنید. یا با خود جاوااسکریپت اینکار رو بکنید.

  8. #8
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    نقل قول: اضافه شدن کاما در textbox

    ممنون
    از split نتونستم استفاده کنم ولی با تابع Replace تونستم همون کار را بکنم
    سبک تابع به این صورته

    String.Replace (String, String)

    منم اینجوری استفاده کردم

    string s=TextBox1.Text;
    s = s.Replace(",", "");

    بازم ممنون

  9. #9
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    نقل قول: اضافه شدن کاما در textbox

    دوستان آیا راهی وجود داره که برای کاما دار کردن تکست باکس لازم نباشه کد جاوا اسکریپت را در هر صفحه بنویسیم و با اضافه کردن یک خصوصیت به تکست باکس و لینک کردن این کد جاوا اسکریپت به صفحه بتونیم تکست باکسمون را کاما دار کنیم
    دیدم که این کارا میکنن ولی نمیدونم چجوری
    پیشاپیش ممنون

  10. #10
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    نقل قول: اضافه شدن کاما در textbox

    nدوستان سوالما بد مطرح کردم یا کسی حال جواب دادن نداره؟(البته بخاطر روزه )
    ببینین اگه متوجه منظورم نمیشین بگین تا نمونه بزارم و توضیح بیشتری بدم

  11. #11

    نقل قول: اضافه شدن کاما در textbox

    نقل قول نوشته شده توسط ali_yousefian19 مشاهده تاپیک
    دوستان آیا راهی وجود داره که برای کاما دار کردن تکست باکس لازم نباشه کد جاوا اسکریپت را در هر صفحه بنویسیم و با اضافه کردن یک خصوصیت به تکست باکس و لینک کردن این کد جاوا اسکریپت به صفحه بتونیم تکست باکسمون را کاما دار کنیم
    دیدم که این کارا میکنن ولی نمیدونم چجوری
    پیشاپیش ممنون
    میخواستم براتون راه حل این سوال رو بنویسم، ولی یه دفعه فکر کردم که میشه این رو کمی عمومی تر در نظر گرفت.
    یک اسکریپت ساده برای این کار نوشتم که توضیحات لازم برای استفاده ازش رو هم داده ام. (اینجا: http://hasheminezhad.com/addeventtoclass)
    برای این مثال، بعد از اضافه کردن اسکریپت مورد نظر، اینجوری میتونید اون رو فراخوانی کنید:
    addEventToClass("keyup", function(e){var self = e.target || e.srcElement; self.value = numFormat(self.value);}, "comma");
    بعد از این فراخوانی، هر المنتی در صفحه که کلاس comma داشته باشه، به طور خودکار کاما گذاری میشه.

  12. #12
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    نقل قول: اضافه شدن کاما در textbox

    کارت عالی بود دوست من ولی راستش من دنبال همچین چیزی میگردم، این صفحه را ببین
    http://hasheminezhad.com/kblayout#comment-33
    من با فایلهای جائا اسکریپتی که گذاشتی با اضافه کردن خصوصیت lang="fa" به تکست باکسهام میتونم داخل آنها فارسی بنویسم-- حالا میخوام مثلا با اضافه کردن خاصیت lang="amount" تکست باکسهام کاما دار بشن.

    باز هم ممنونم از جوابتون و بدون که با اینکه شاید من جوابما نگرفتم ولی از ارزش کار شما به هیچ وجه کم نمیشه،ممنون میشم اگه دوستان بتونن در این زمینه راهنمائیم کنن
    با تشکر

  13. #13

    نقل قول: اضافه شدن کاما در textbox

    نقل قول نوشته شده توسط ali_yousefian19 مشاهده تاپیک
    کارت عالی بود دوست من ولی راستش من دنبال همچین چیزی میگردم، این صفحه را ببین
    http://hasheminezhad.com/kblayoutC#‎‎‎omment-33
    من با فایلهای جائا اسکریپتی که گذاشتی با اضافه کردن خصوصیت lang="fa" به تکست باکسهام میتونم داخل آنها فارسی بنویسم-- حالا میخوام مثلا با اضافه کردن خاصیت lang="amount" تکست باکسهام کاما دار بشن.

    باز هم ممنونم از جوابتون و بدون که با اینکه شاید من جوابما نگرفتم ولی از ارزش کار شما به هیچ وجه کم نمیشه،ممنون میشم اگه دوستان بتونن در این زمینه راهنمائیم کنن
    با تشکر
    پیشنهاد من اینه که این کار رو با همون class انجام بدین، ولی اگر دوست دارین اینجوری کار کنید که گفتین هم خیلی فرق نداره. اسکریپت اصلی رو اینجوری بنویسید:

    // addEventToAttribute
    // Copyright (C) 2009 M. Mahdi Hasheminezhad (hasheminezhad at gmail dot com)
    // Bind events to attribute values
    // This source is licensed under Common Public License Version 1.0 (CPL)
    // History:
    // 2009-09-12 First Public Release M. Mahdi Hasheminezhad (http://hasheminezhad.com)
    function addEventToAttribute(eventType, eventHandle, attrName, attrValue){
    function runEvent(e){
    if((e.target || e.srcElement).getAttribute(attrName)==attrValue){
    if(typeof(eventHandle) == 'function') eventHandle(e);
    else eval(eventHandle);
    }
    }
    if (document.addEventListener) document.addEventListener(eventType, runEvent, false);
    else if (document.attachEvent) document.attachEvent("on" + eventType, runEvent);
    else document["on" + eventType] = runEvent;
    }
    فکر کنم تغییراتش مشخص باشه ولی بازم اگر توضیح خواستید، بگین.
    در این حالت به جای اسم کلاس، اسم attribute (در اینجا lang) و مقدارش (در اینجا amount) رو پاس کنید. مثلا با این اسکریپت، فراخوانی مورد نظر شما اینجوی میشه:
    addEventToAttribute(
    "keyup",
    function(e){
    var self = e.target || e.srcElement;
    self.value = numFormat(self.value);
    },
    "lang",
    "amount");

  14. #14
    کاربر تازه وارد آواتار ali_yousefian19
    تاریخ عضویت
    مهر 1383
    محل زندگی
    شهر زیبای خدا(اصفهان)
    پست
    79

    نقل قول: اضافه شدن کاما در textbox

    ممنون exception جان که مشکلما حل کردی،
    مرسی از پیگیریت و حوصلت
    آخرین ویرایش به وسیله ali_yousefian19 : یک شنبه 22 شهریور 1388 در 00:38 صبح دلیل: پیش میاد دیگه

  15. #15

    Question نقل قول: اضافه شدن کاما در textbox پس از فشردن دکمه enter در Asp.net

    سلام . من میخوام یک Textbox تعریف کنم البته در Asp بعد یک customvalidator بذارم کنارش . این کدهای جاوا اسکریپتم برای اون میخوام که وقتی من یک عددی رو تو تکس باکس تایپ کردم به محض فشردن دکمه enter کاستوم ولیدیتور من فعال بشه و کدهای جاوا اسکریپتمو انجام بده. یه سری از کدهای شما تو html کار میکنه .
    من خیلی به این برنامه نیاز دارم . و زیادم تو asp وارد نیستم.
    دوستان عزیز اگه یکی میتونه تو این زمینه به من کمک کنه ممنون میشم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •