Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2015, 17:35
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

ajax запрос при нажатии на кнопку
Доброго времени суток! Подскажите пожалуйста. Ситуация такая: у меня есть кнопка и нужно чтобы при нажатии на неё происходил ajax запрос. Что я не так делаю? Подскажите...
Вот код моей ф-ции:
$('#edit_billing_information').click(function(){
    $.ajax({  
        type: 'GET',
        url: '/billing_information_attendee_one',
        success: function(msg_edit_bill_info) {
            var jsondata_edit = JSON.parse(msg_edit_bill_info);
            $('#edit_billing_info_first_name').val(jsondata_edit[0].name);
            $('#edit_billing_info_last_name').val(jsondata_edit[0].last_name);
            $('#edit_billing_info_company_name').val(jsondata_edit[0].company_name);
            $('#edit_billing_info_address_1').val(jsondata_edit[0].address_1);
            $('#edit_billing_info_address_2').val(jsondata_edit[0].address_2);
            $('#edit_billing_info_city').val(jsondata_edit[0].city);
            $('#edit_billing_info_state').val(jsondata_edit[0].state);
            $('#edit_billing_info_postal_code').val(jsondata_edit[0].postal_code);
            $('#edit_billing_info_country').val(jsondata_edit[0].country);
            $('#edit_billing_info_phone').val(jsondata_edit[0].phone);
            $('#edit_billing_info_email').val(jsondata_edit[0].email);
        }   
    });
});
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2015, 18:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Зачем такие длинные имена переменным msg_edit_bill_info, которые живут даже не мгновения, а миллионную часть его? Да и не удобно все это вот так перечислять поля. Можно именовать ключи передаваемого массива как имена полей формы, а обойдя объект циклом в соответствии этим именам присвоить значения полям:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style>

</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    d =  '{"fld1" : 12, "fld2" : 33, "fld3" : 234}';
    try {
        var f = document.forms['my'];
        d = JSON.parse(d);
        for(k in d) f[k].value = d[k]
    } catch (e) {
        //exec error
    }
})
</script>    
</head> 

<body>
<form name="my">
    <input name="fld1" />
    <input name="fld2" />
    <input name="fld3" />
</form>
</body> 
</html>

Последний раз редактировалось laimas, 13.03.2015 в 18:04.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2015, 18:07
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Так а стосовно функции .click() что там не правильно написано?
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2015, 18:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А что не правильного, синтаксиса неверного я не вижу, адрес /billing_information_attendee_one - тут вам виднее что это, трактовать можно как угодно, думаю тут у вас ошибок нет, нет параметра запроса, но если это запрос к скрипту обрабатывающему только этот запрос, то он и не обязателен.

А в чем проблема?
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2015, 18:31
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Уже решил вопрос. Просто повесил на button onClick
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2015, 19:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

То есть у вас не запускался этот обработчик? Тогда ваша ошибка заключалась в следующем, надо было так:

$(document).on('click', '#edit_billing_information', function()....


или вместо document ближайший родитель для #edit_billing_information который всегда на странице. У вас элемент edit_billing_information добавляется динамически на страницу?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При нажатии на кнопку появляется другой текст ami_moor Общие вопросы Javascript 3 12.06.2015 16:56
Привязать закрытие окна bootstrap при наатии только на определенную кнопку voron121 Библиотеки/Тулкиты/Фреймворки 0 15.08.2014 02:23
Как можно сделать кнопку без ссылки, но с переходом по ссылке при нажатии ? autobuh Элементы интерфейса 10 31.07.2014 05:59
Ajax смена картинки при нажатии на неё maxim123 AJAX и COMET 1 23.02.2011 14:57
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36