garakh/kladrapi-jsclient

checkAutoFill()

Antonded opened this issue · 5 comments

Поясните пожалуйста, что делает эта функция, из-за нее невозможно сразу после загрузки страницы использовать setValueById (значение появляется и сразу исчезает).
$city.kladr({
type: $.kladr.type.city,
oneString: true
});

$city.kladr('controller').setValueById(8900000600000);

Без нее все замечательно работает. Заранее спасибо

checkAutoFill поверяет автозаполняемые в firefox поля формы адреса, срабатывает сразу после перезагрузки страницы. Большое спасибо за найденный баг с участием этой функции, поправлю. Так же как я понял в коде не достаточно комментариев, обязательно эту ситуацию исправлю.

Натолкнулся сегодня на похожую (или такую же проблему):

$address.kladr({oneString: true})
$address.kladr('controller').setValueById("5001300100000770002") // Адрес дома в подмосковье
$address.kladr('current') // {id: "0100000000000", name: "Адыгея", zip: "385000", type: "Республика", typeShort: "Респ"…} АДЫГЕЯ???

Если установить тип в «здание», то начинает ругаться на отсутствие parentType, если его указать — то начинает ругаться на отсутствие parentId, который мне не нужен.

Я же хочу каким-то образом, зная ID, присвоить ранее выбранное пользователем значение.

добавьте опцию для $('input').kladr('checkAutoFill', false), а то полночи убил на поиск бага, и теперь придется править код, а править код плагинов это же неправильно)

Ошибка в функции checkAutoFill, приводящая к затираю программно установленного значения, поправлена. Обновитесь до последнего релиза.

Код плагинов можно и нужно править и потом делиться своими разработками. На этом стоит open source. С этого собственно и начинался кладр апи =) У меня не было никакого желания писать плагин, пока я несколько раз больно не ударился об его отсутствие. Поэтому не стесняемся, присоединяемся =)