Мне нужно иметь возможность получать информацию о доставке из внешнего источника на основе адреса электронной почты и вставлять данные в форму информации о доставке.
Запрос ajax отлично работает на пустой странице, однако, когдаЯ добавляю код в шаблон оформления одной страницы при нажатии кнопки, поиск ajax не запускается, скорее браузер работает так, как будто я нажал на кнопку «продолжить».
Я не могуразобраться в сочетании внешнего и встроенного JS в magento, чтобы я не мог понять, что является причиной этой проблемы.
Мой внешний php-файл возвращает объект json, который представляет собой массив, имеющий следующие значения: [0] - Улица 1 - Город [2] - Регион [3] - Почтовый индекс [4] - Страна
Обратите внимание, что я использую найденный плагин jQuery Ajax Form здесь :
В шаблоне / оформить заказ / одну страницу / доставку я добавил следующий код примерно в строку 38:
<form id="treat-email" action="treatme.php" method="post">
Email: <input type="text" name="treat-email" />
<input type="submit" value="Get Address" />
</form>
<script>
jQuery(document).ready(function() {
jQuery('#treat-email').ajaxForm({
dataType: 'json',
success: processJson,
error: function(){
alert("You Failed!");
},
});
});
function processJson(data){
jQuery('#shipping:street1').val(data[0]);
jQuery('#shipping:city').val(data[1]);
jQuery('#shipping:region').val(data[2]);
jQuery('#shipping:postcode').val(data[3]);
jQuery('#shipping:country').val(data[4]);
}
</script>