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

Введите БИК (например, 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="ОКПО">

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

Другие модули

Чистка данных в ФИО через dadata. Подключение к Dadata API. Коррекция ввода данных человека

Как упростить ввод адреса на сайте. Подсказки dadata по адресу

Проверка орфографии текста через API Яндекс Spell

Поиск компании через Dadata Подсказки. Получение информации о компании через API

Dadata. Вывод товаров и услуг (МКТУ)

Как отправить письмо с шаблоном HTML

Рерайт на сайте, подбор синонимов через API. Получение текста по API

Определение местоположения на сайте по Google Maps API

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

Платформа Falcon Space

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

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

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

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

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

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