01.04.2016, 15:34
|
Аспирант
|
|
Регистрация: 18.12.2015
Сообщений: 31
|
|
Как перечислить 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()
Приходит только первое значение.
|
|
01.04.2016, 20:02
|
|
Аспирант
|
|
Регистрация: 26.01.2014
Сообщений: 78
|
|
Для ознакомления с JS можете выбрать пример и попроще. Чисто для начала, разумеется.
|
|
02.04.2016, 19:16
|
Аспирант
|
|
Регистрация: 18.12.2015
Сообщений: 31
|
|
Cuntmann, В том-то и дело, что это не пример, а реальная задача.
|
|
02.04.2016, 19:25
|
Аспирант
|
|
Регистрация: 02.04.2016
Сообщений: 50
|
|
SnezhanaLast,
надо узнать, что это за тип. Я JQ не знаю, но предполагаю, что .val() обычно возвращает строку. сделайте typeof data.ADDRESS, затем перечисляйте в соответствии с типом. Если строка -- парсить, если объект -- for in, если массив -- forEach
|
|
02.04.2016, 19:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
SnezhanaLast,
$('.user_address .user_street .user_home') циклом по этому селектору
|
|
02.04.2016, 19:32
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
SnezhanaLast,
Jquery берет данные из html. Без html невозможно понять, что у вас не так
|
|
02.04.2016, 19:40
|
Аспирант
|
|
Регистрация: 18.12.2015
Сообщений: 31
|
|
рони, Пробовала, приходит пустое значение.
<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.
|
|
02.04.2016, 19:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
SnezhanaLast,
какой формат данных нужен напишите
|
|
02.04.2016, 19:58
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
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>
|
|
03.04.2016, 18:24
|
Аспирант
|
|
Регистрация: 18.12.2015
Сообщений: 31
|
|
Нужно чтобы данные приходили одной строчкой, через запятую.
Вот более подробный 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()
Один класс приходит без проблем.
|
|
|
|