SugarCRM Javascript / JQuery маска телефона работает не полностью, как я хочу, чтобы она работала - PullRequest
0 голосов
/ 31 мая 2019

Маска работает отлично. Я получил ее до такой степени, что при копировании и вставке удаляет все, кроме кода страны, с передней части номера.Итак, моя проблема сейчас в том, что когда я копирую и вставляю, например, число вроде +1 +1999)999-9999, вывод получается как 199-999-999, и мне нужно, чтобы он получился как 999-999-9999,Не знаю, что именно мне не хватает, если кто-нибудь может помочь мне с этим, было бы здорово.

Перепробовал все, что мог придумать.

_render: function() {
    this._super('_render');

    var SPMaskBehavior = function (val) {
        return '000-000-00009';
    },
    spOptions = {
        onKeyPress: function(val, e, field, options) {
            var value = e.target.value;
            if(value.length > 11) {

                if(value[0] == '1' || value[0] == 1) {
                    var res=value.slice(1, 13);
                    $('.republic_phone').val(res);
                }
                else {
                    var res =value.slice(0, 12);
                    $('.republic_phone').val(res);
                }
            }
            field.mask(SPMaskBehavior.apply({}, arguments), options);
            }
    };

    $('.republic_phone').mask(SPMaskBehavior, spOptions);   
},

Я ожидаю, когда я скопирую ивставьте любой номер телефона, например +1(999)999-9999 или даже +1999999999, ну, на самом деле, все, что выглядит как телефон. Я хочу отобразить его как 999-999-9999. Заранее спасибо.

1 Ответ

0 голосов
/ 31 мая 2019

999-999-9999 имеет длину 12 символов, а не 11.
Поэтому я полагаю, что весь ваш код отключен.

        if(value.length > 12) {

            if(value[0] == '1' || value[0] == 1) {
                var res=value.slice(1, 14);
                $('.republic_phone').val(res);
            }
            else {
                var res =value.slice(0, 13);
                $('.republic_phone').val(res);
            }
        }

Также странно, что вы используете $('.republic_phone'). втам для адресации поля.
Разве field. не должен быть правильным способом адресации того самого поля, для которого вызывается функция?

...