Как перечислить 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, время: 07:56. |