Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как перечислить JS (https://javascript.ru/forum/dom-window/62257-kak-perechislit-js.html)

SnezhanaLast 01.04.2016 15:34

Как перечислить 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()
Приходит только первое значение.

Cuntmann 01.04.2016 20:02

Для ознакомления с JS можете выбрать пример и попроще. Чисто для начала, разумеется.

SnezhanaLast 02.04.2016 19:16

Cuntmann, В том-то и дело, что это не пример, а реальная задача. :(

protoquest 02.04.2016 19:25

SnezhanaLast,
надо узнать, что это за тип. Я JQ не знаю, но предполагаю, что .val() обычно возвращает строку. сделайте typeof data.ADDRESS, затем перечисляйте в соответствии с типом. Если строка -- парсить, если объект -- for in, если массив -- forEach

рони 02.04.2016 19:32

SnezhanaLast,
$('.user_address .user_street .user_home') циклом по этому селектору

Dilettante_Pro 02.04.2016 19:32

SnezhanaLast,
Jquery берет данные из html. Без html невозможно понять, что у вас не так

SnezhanaLast 02.04.2016 19:40

рони, Пробовала, приходит пустое значение. :(
<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

SnezhanaLast,
какой формат данных нужен напишите

рони 02.04.2016 19:58

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>

SnezhanaLast 03.04.2016 18:24

Нужно чтобы данные приходили одной строчкой, через запятую.
Вот более подробный 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.