/
  • تداخل دو onkeyup(حل شد)

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی تداخل دو onkeyup(حل شد)
    نویسنده پیام
    MRCanddy آفلاین
    عضو مهم
    ****

    ارسال‌ها: 289
    تاریخ عضویت: ۱۳۹۵ آبان ۱۵
    اعتبار: 0
    تشکرها : 61
    ( 7 تشکر در 6 ارسال )
    ارسال: #1
    تداخل دو onkeyup(حل شد)
    سلام دوستان.
    من یک کد جی کوئری دارم که بوسیله onkeyup از html داره دستور میگیره.
    کد PHP:
    <input type="text" onkeyup="javascript:moneyCommaSep(this);document.getElementById('typed').innerHTML= convertNumberToString(this.value)+' ریال ';"/>
    <
    div id="typed"></div
    اینم کد جی کوئری
    کد PHP:
    var s_0_9 = new Array('صفر''یک''دو''سه''چهار''پنج''شش''هفت''هشت''نه');
    var 
    s_10_19 = new Array('ده''یازده''دوازده''سیزده''چهارده''پانزده''شانزده''هفده''هجده''نوزده');
    var 
    s_20_90 = new Array('بیست''سی''چهل''پنجاه''شصت''هفتاد''هشتاد''نود');
    var 
    s_100_900 = new Array('صد''دویست''سیصد''چهارصد''پانصد''ششصد''هفتصد''هشتصد''نهصد');
    var 
    s_Parts = new Array('هزار''میلیون''میلیارد''تريليون');
    var 
    splitter " و ";
    var 
    veryBig "تعریف نشده";
    var 
    negative "منفی";

    function 
    getPart(numberIn3) {
        if (
    numberIn3.length 3) {
            return 
    "";
        }

        var 
    number numberIn3.toString();

        switch (
    number.length) {
            case 
    1:
                
    number "00" number;
                break;
            case 
    2:
                
    number "0" number;
                break;
        }

        var 
    outString "";

        var 
    n1 parseInt(number.substr(01));
        var 
    n2 parseInt(number.substr(11));
        var 
    n3 parseInt(number.substr(21));

        if (
    n1 != 0) {
            switch (
    n2) {
                case 
    0:
                    if (
    n3 != 0) {
                        
    outString s_100_900[n1 1] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_100_900[n1 1];
                    };
                    break;
                case 
    1:
                    
    outString s_100_900[n1 1] + splitter s_10_19[n3];
                    break;
                default:
                    if (
    n3 != 0) {
                        
    outString s_100_900[n1 1] + splitter s_20_90[n2 2] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_100_900[n1 1] + splitter s_20_90[n2 2];
                    }
            }
        }
        else {
            switch (
    n2) {
                case 
    0:
                    if (
    n3 != 0) {
                        
    outString s_0_9[n3];
                    }
                    else {
                        
    outString "";
                    }
                    break;
                case 
    1:
                    
    outString s_10_19[n3];
                    break;
                default:
                    if (
    n3 != 0) {
                        
    outString s_20_90[n2 2] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_20_90[n2 2];
                    }
            }
        };

        return 
    outString;
    }

    function 
    convertNumberToString(inputNumber) {
        var 
    tempNumber Math.abs(inputNumber).toString();
                
        if (
    tempNumber.length == 0) {
            return 
    "";
        }

        if (
    tempNumber == 0)
            return 
    s_0_9[0];

        var 
    partCount Math.ceil((parseInt(tempNumber).toString().length 3), 1);

        if (
    s_Parts.length partCount)
            return 
    veryBig;

        var 
    partFullString = new Array();

        for (var 
    0partCounti++) {
            var 
    numberLength3;

            var 
    lengthToSelectFirtPart;
            if (
    == 0) {
                
    lengthToSelectFirtPart tempNumber.length - ((partCount 1) * 3);
                
    numberLength3 tempNumber.substr((3), lengthToSelectFirtPart);
            }
            else {
                
    numberLength3 tempNumber.substr(lengthToSelectFirtPart + ((1) * 3), 3);
            }

            var 
    partInWord getPart(numberLength3);

            var 
    partIndex = (partCount i);
            var 
    partPreFix s_Parts[partIndex];

            if (
    == partCount 1) {
                
    partPreFix "";
            }

            if (
    == 0) {
                if (
    partInWord != "") {
                    
    partFullString[i] = partInWord " " partPreFix;
                }
                else {
                    
    partFullString[i] = "";
                }
            }
            else {
                if (
    partFullString[1] != "") {
                    if (
    partInWord != "") {
                        
    partFullString[i] = splitter partInWord " " partPreFix;
                    }
                    else {
                        
    partFullString[i] = "";
                    }
                }
                else {
                    if (
    partInWord != "") {
                        
    partFullString[i] = splitter partInWord " " partPreFix;
                    }
                    else {
                        
    partFullString[i] = "";
                    }
                }
            }
        }

        var 
    outString "";

        for (var 
    0partFullString.lengthi++) {
            
    outString += partFullString[i];
        }

        if (
    inputNumber.substr(01) == "-") {
            
    outString negative " " outString;
        }

        return 
    outString;
    }

    function 
    moneyCommaSep(ctrl)
    {
        var 
    separator ",";
        var 
    int ctrl.value.replace ( new RegExp separator"g" ), "" );
        var 
    regexp = new RegExp "\\B(\\d{3})(" separator "|$)" );
        do
        {
            
    int int.replace regexpseparator "$1" );
        }
        while ( 
    int.search regexp ) >= )
        
    ctrl.value int;

    مشکل اینجاست که هنگام تایپ کردن هم(کاما)لازم دارم و هم نیازدارم به حروف مبلغ تایپیمو ببینم
    اما (کاما باعث میشه که هنگام تبدیل به حروف توو قسمت typed)ارور underfided ظاهر بشه.
    البته کد تا وقتی که 3رقم توو input درج بشه درست کار میکنه.
    مشکل از جایی شروع میشه که کاما به کد اضافه میشه
    (آخرین ویرایش در این ارسال: ۱۳۹۶ دي ۱۹ ۰۴:۴۹ عصر، توسط MRCanddy.)
    ۱۳۹۶ دي ۱۹ ۰۲:۴۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    majid_goudarzi آفلاین
    عضو جدید
    **

    ارسال‌ها: 45
    تاریخ عضویت: ۱۳۹۶ ارديبهشت ۲۰
    اعتبار: 0
    تشکرها : 2
    ( 12 تشکر در 11 ارسال )
    ارسال: #2
    RE: تداخل دو onkeyup
    سلام.

    مشکل شما با یه input type hidden حل میشه
    به این صورت:
    کد PHP:
    <input id="price" type="text" onkeyup="javascript:moneyCommaSep(this);document.getElementById('typed').innerHTML= convertNumberToString(document.getElementById('mymodel').value)+' ریال ';"/>
    <
    input type="hidden" id="mymodel"/>
    <
    div id="typed"></div
    و در سمت جی کوئری هم این تغییر رو انجام میدی:
    کد PHP:
    // Developed By Ahmad Ahmadi
    // Email : Hakan648@yahoo.com
    // Web : DeveloperTeam.tk

    var s_0_9 = new Array('صفر''یک''دو''سه''چهار''پنج''شش''هفت''هشت''نه');
    var 
    s_10_19 = new Array('ده''یازده''دوازده''سیزده''چهارده''پانزده''شانزده''هفده''هجده''نوزده');
    var 
    s_20_90 = new Array('بیست''سی''چهل''پنجاه''شصت''هفتاد''هشتاد''نود');
    var 
    s_100_900 = new Array('صد''دویست''سیصد''چهارصد''پانصد''ششصد''هفتصد''هشتصد''نهصد');
    var 
    s_Parts = new Array('هزار''میلیون''میلیارد''تريليون');
    var 
    splitter " و ";
    var 
    veryBig "تعریف نشده";
    var 
    negative "منفی";

    function 
    getPart(numberIn3) {
        if (
    numberIn3.length 3) {
            return 
    "";
        }

        var 
    number numberIn3.toString();

        switch (
    number.length) {
            case 
    1:
                
    number "00" number;
                break;
            case 
    2:
                
    number "0" number;
                break;
        }

        var 
    outString "";

        var 
    n1 parseInt(number.substr(01));
        var 
    n2 parseInt(number.substr(11));
        var 
    n3 parseInt(number.substr(21));

        if (
    n1 != 0) {
            switch (
    n2) {
                case 
    0:
                    if (
    n3 != 0) {
                        
    outString s_100_900[n1 1] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_100_900[n1 1];
                    };
                    break;
                case 
    1:
                    
    outString s_100_900[n1 1] + splitter s_10_19[n3];
                    break;
                default:
                    if (
    n3 != 0) {
                        
    outString s_100_900[n1 1] + splitter s_20_90[n2 2] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_100_900[n1 1] + splitter s_20_90[n2 2];
                    }
            }
        }
        else {
            switch (
    n2) {
                case 
    0:
                    if (
    n3 != 0) {
                        
    outString s_0_9[n3];
                    }
                    else {
                        
    outString "";
                    }
                    break;
                case 
    1:
                    
    outString s_10_19[n3];
                    break;
                default:
                    if (
    n3 != 0) {
                        
    outString s_20_90[n2 2] + splitter s_0_9[n3];
                    }
                    else {
                        
    outString s_20_90[n2 2];
                    }
            }
        };

        return 
    outString;
    }

    function 
    convertNumberToString(inputNumber) {
        var 
    tempNumber Math.abs(inputNumber).toString();
                
        if (
    tempNumber.length == 0) {
            return 
    "";
        }

        if (
    tempNumber == 0)
            return 
    s_0_9[0];

        var 
    partCount Math.ceil((parseInt(tempNumber).toString().length 3), 1);

        if (
    s_Parts.length partCount)
            return 
    veryBig;

        var 
    partFullString = new Array();

        for (var 
    0partCounti++) {
            var 
    numberLength3;

            var 
    lengthToSelectFirtPart;
            if (
    == 0) {
                
    lengthToSelectFirtPart tempNumber.length - ((partCount 1) * 3);
                
    numberLength3 tempNumber.substr((3), lengthToSelectFirtPart);
            }
            else {
                
    numberLength3 tempNumber.substr(lengthToSelectFirtPart + ((1) * 3), 3);
            }

            var 
    partInWord getPart(numberLength3);

            var 
    partIndex = (partCount i);
            var 
    partPreFix s_Parts[partIndex];

            if (
    == partCount 1) {
                
    partPreFix "";
            }

            if (
    == 0) {
                if (
    partInWord != "") {
                    
    partFullString[i] = partInWord " " partPreFix;
                }
                else {
                    
    partFullString[i] = "";
                }
            }
            else {
                if (
    partFullString[1] != "") {
                    if (
    partInWord != "") {
                        
    partFullString[i] = splitter partInWord " " partPreFix;
                    }
                    else {
                        
    partFullString[i] = "";
                    }
                }
                else {
                    if (
    partInWord != "") {
                        
    partFullString[i] = splitter partInWord " " partPreFix;
                    }
                    else {
                        
    partFullString[i] = "";
                    }
                }
            }
        }

        var 
    outString "";

        for (var 
    0partFullString.lengthi++) {
            
    outString += partFullString[i];
        }

        if (
    inputNumber.substr(01) == "-") {
            
    outString negative " " outString;
        }

        return 
    outString;
    }

    function 
    moneyCommaSep(ctrl)





    {
        var 
    separator ",";
        var 
    int ctrl.value.replace ( new RegExp separator"g" ), "" );
        var 
    regexp = new RegExp "\\B(\\d{3})(" separator "|$)" );
        do
        {
            
    int int.replace regexpseparator "$1" );
        }
        while ( 
    int.search regexp ) >= )
        
    ctrl.value int;

        var 
    number = $("#price").val();
        var 
    output number.replace(/,/g'');
        $(
    "#mymodel").val(output);


    ۱۳۹۶ دي ۱۹ ۰۴:۴۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : MRCanddy
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS