Получение данных юридического лица по БИК

Введите БИК (например, 044525974), уберите фокус ввода с поля, и остальные данные автоматически подгрузятся

Как реализовать

Для реализации нужно указать поле с классом as-bikInput и установить его data-callback в название функции, которая будет обрабатывать данные по БИК. 

Функция объявляется как as.bikcallbacks['{name}'] = function(data){}

JS компонент, его не нужно менять: 

as = as || {};
as.bik = {
    options: {      
    },
    callbacks: {},
    init: function (options) {
      	as.bikcallbacks = as.bikcallbacks || {};
        as.bik.options = $.extend(as.bik.options, options);
        as.bik.initCallbacks();
    },
    initCallbacks: function () {
        $(document).on('change', '.as-bikInput', function (e) {
            var el = $(this);
            as.bik.getData(el);
        });        
    },
    getData: function (el) {
        var val = $.trim(el.val());
        if (!val) return false;		
        $.ajax({
            url: 'https://bik-info.ru/api.html?type=json&bik='+ val,
            type: 'get',
            data: "",
            headers: {
                "Content-type": 'application/json',
                "Accept": 'application/json'               
            },
            dataType: 'json',
            success: function (data) {
          		var callback = el.attr('data-callback');
                if (callback) {
                    var callback = as.bikcallbacks[callback];
                    if (callback) {
                        callback(data);
                    } 
                }
            }
        });
    }
};

Использование компонента (инициализация и обработка коллбека для вывода данных): 

$(function(){
  as.bik.init();
  as.bikcallbacks["bik1"] = function(data){
  	console.log(data);    
    if(!data.error){
      $('.bikName').val(data.name.replaceAll('"', ''));
      $('.bikKs').val(data.ks);
      $('.bikAddress').val(data.address);
      $('.bikCity').val(data.city);
      $('.bikIndex').val(data.index);
      $('.bikOkato').val(data.okato);
      $('.bikOkpo').val(data.okpo);      
    }
  }
})

Разметка HTML: 

<input type="text" class="form-control as-bikInput" data-callback="bik1" placeholder="BIK">
<input type="text" class="form-control bikName" placeholder="Наименование">
<input type="text" class="form-control bikKs" placeholder="Кор. счет">
<input type="text" class="form-control bikAddress" placeholder="АДрес">
<input type="text" class="form-control bikCity" placeholder="Город">
<input type="text" class="form-control bikIndex" placeholder="Индекс">
<input type="text" class="form-control bikOkato" placeholder="ОКАТО">
<input type="text" class="form-control bikOkpo" placeholder="ОКПО">

 

Насколько полезна эта возможность?

Последние обновления

Форма генерации счета

Файлы и документы 10.01.2025

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Сайт использует Cookie. Правила конфиденциальности OK