Как перечислить JS
Здравствуйте, дорогие форумчане. Нужна ваша помощь. Есть код JS корзины:
data: {PHONE: $('.order_form_fields .phone').val(), NAME: $('.user_name').val(),DELIVERY_NAME: $('.delivery_list option:selected').text(),ORDER_EMAIL: $('.order_email').val(), ADDRESS: $('.user_address').val(), DISTRICT: $('.delivery_list').val(), ORDER_STATUS_ID: 'new', PROMOCODE: $('.promo_value').val(), PAY_SYS: payment_id, PAY_SYS_TEXT: payment_text,DELIVERY_PRICE:$('.delivery_price_value').text(),PERSONS: $('.persons').val(),CHANGE: $('.need_short_change').val(),ONLINE_PAY_STATUS: ops} Как мне перечислить ADDRESS: $('.user_address').val() Пробовала ADDRESS: $('.user_address .user_street .user_home').val() Не сработало. На почту приходило пустое поле. С JS только знакомлюсь. Может глупо, но пробовала еще вот так ADDRESS: $('.user_address, .user_street, .user_home').val()Приходит только первое значение. |
Для ознакомления с JS можете выбрать пример и попроще. Чисто для начала, разумеется.
|
Cuntmann, В том-то и дело, что это не пример, а реальная задача. :(
|
SnezhanaLast,
надо узнать, что это за тип. Я JQ не знаю, но предполагаю, что .val() обычно возвращает строку. сделайте typeof data.ADDRESS, затем перечисляйте в соответствии с типом. Если строка -- парсить, если объект -- for in, если массив -- forEach |
SnezhanaLast,
$('.user_address .user_street .user_home') циклом по этому селектору |
SnezhanaLast,
Jquery берет данные из html. Без html невозможно понять, что у вас не так |
рони, Пробовала, приходит пустое значение. :(
<div class="ln"> <span class="txt"><?=GetMessage("ADRESS_DELIVERY");?><i>*</i></span> <textarea class="required user_street" style="resize: none;" rows="5" cols="5" placeholder="<?=GetMessage("DELIVERY_STREET");?>"></textarea> <textarea class="required user_home" style="resize: none;" rows="5" cols="5" placeholder="<?=GetMessage("DELIVERY_HOME");?>"></textarea> </div> Пример PHP. |
SnezhanaLast,
какой формат данных нужен напишите |
SnezhanaLast,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ var a = $.map($('.user_address, .user_street, .user_home'),function(el) { return el.value }) ; alert(JSON.stringify(a)) ; }) </script> </head> <body> <div class="ln"> <span class="txt"><i>*</i></span> <textarea class="required user_street" style="resize: none;" rows="5" cols="5" placeholder="">street</textarea> <textarea class="required user_home" style="resize: none;" rows="5" cols="5" placeholder="">home</textarea> </div> </body> </html> |
Нужно чтобы данные приходили одной строчкой, через запятую.
Вот более подробный JS. Спасибо за помощь. :) $.ajax({ type: 'POST', url: '/iconthandlers/order.php?t='+new Date().getTime(), dataType: 'json', data: {PHONE: $('.order_form_fields .phone').val(), NAME: $('.user_name').val(),DELIVERY_NAME: $('.delivery_list option:selected').text(),ORDER_EMAIL: $('.order_email').val(), ADDRESS: $('.user_street .user_home .user_acces .user_apartment').val(), DISTRICT: $('.delivery_list').val(), ORDER_STATUS_ID: 'new', PROMOCODE: $('.promo_value').val(), PAY_SYS: payment_id, PAY_SYS_TEXT: payment_text,DELIVERY_PRICE:$('.delivery_price_value').text(),PERSONS: $('.persons').val(),CHANGE: $('.need_short_change').val(),ONLINE_PAY_STATUS: ops}, success: function (order_id) { $('.out_sum').val($('.cart_btn span').text().split(' ').join('')); $.cookie('order_id',order_id,{path:'/'}); $('.cart_btn').find('span').text('').parent().removeClass('cart_full').addClass('cart').html(""); renderGiftScale(0); refreshGifts(0); refreshGiftsInCart(0); var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var goods = new Array(); В данном коде приходит все, кроме ADDRESS, если написать просто: ADDRESS: $('.user_address').val() Один класс приходит без проблем. :( |
Часовой пояс GMT +3, время: 13:05. |