crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Web/JavaScript: Как прочитать в переменную поле ввода (input)
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 3.7.2013, 11:30
  Эдик всё работает, как надо. Спасибо!
ViGOur Дата 3.7.2013, 11:11
 
Цитата(Litkevich Yuriy @ 1.7.2013, 22:51) *
Осталось не понятно после функции вал надо ли ставить точку с запятой или нет? (работает вроде, но вдруг это, например, дурной тон, ...)
Я ставлю, так как незнаешь как и кто реализует интерпретатор JavaScript... :)
Litkevich Yuriy Дата 1.7.2013, 21:51
  В общем переделал код, на странице присутствовал штатный обработчик добавления в корзину, перенёс всё добро по учёту в него. Получилось так так:
Раскрывающийся текст

<script type="text/javascript"><!--
$('#button-cart').bind('click', function() {
    $.ajax({
    ... // тут штатный обработчик добавления в корзину
    });
    
    var yaGoalParams = {
        product_id: "<?php echo $product_id; ?>",
        name: "<?php echo $model; ?>",
        price: <?php echo $price_num; ?>,
        quantity: $('.product-info input[type=\'text\']').val()
    };
    yaCounter16843852.reachGoal('to_cart_product', yaGoalParams);
});
//--></script>

Сначала написал $('.product-info input[type=\'text\']') без метода val(), как увидел то твоего, Эдик, совета на главной странице http://jquery.com/ (в низу var hiddenBox = $( "#banner-message" );).
Потом посмотрел в Opera Dragonfly, что в reachGoal параметр Кол-ва передаётся как объект, добавил метод val(), стала передаватся строка (Opera Dragonfly показывает величину в кавычках)

Осталось не понятно после функции вал надо ли ставить точку с запятой или нет? (работает вроде, но вдруг это, например, дурной тон, ...)

Посмотрю как это в метрике учитывается, она с задержкой отображает.
ViGOur Дата 1.7.2013, 21:20
  Посмотри: http://api.jquery.com/val/

И переменную value из данного примера присваивай:
yaGoalParams.quantity = value;
Litkevich Yuriy Дата 1.7.2013, 14:12
  Эдик, а можешь привести пример как его навешивать?
Ajax в движке интернет-магазина активно используется, только я пока не понимаю, куда можно лезть, а куда нет.
ViGOur Дата 1.7.2013, 11:20
  Тебе явно нужно использовать Ajax, в котором повесить на поле событие ввода, а во время ввода уже менять твою переменную примерно так: yaGoalParams.quantity = valueFromInput;
Litkevich Yuriy Дата 28.6.2013, 20:51
  Продолжаю навёртывать на свой интернет-магазин яндекс метрику. Застопорился на учёте товаров положенных в корзину.
На странице товара есть поле, в которое пользователь вводит кол-во, дальше нажимает кнопку "В корзину" на эту кнопку повешан, кроме штатаного, дополнительный обработчик Метрики.
Код выглядит так:
Раскрывающийся текст

      <div class="cart">
        <script type="text/javascript">
            var yaGoalParams = {
                product_id: "<?php echo $product_id; ?>",
                name: "<?php echo $model; ?>",
                price: <?php echo $price_num; ?>,
                quantity: 1
            };
        </script>
        <div><?php echo $text_qty; ?>
          <input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
          <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
           <input type="button" onclick="yaCounter16843852.reachGoal('to_cart_product', yaGoalParams); return true;" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
          </div>
        <div><span>   <?php echo $text_or; ?>   </span></div>
        <div><a onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a><br />
          <a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a></div>
        <?php if ($minimum > 1) { ?>
        <div class="minimum"><?php echo $text_minimum; ?></div>
        <?php } ?>
      </div>

тут есть один неприятный момент переменная yaGoalParams объявлена заранее (я так понял она должна быть раньше вызова метода reachGoal, либо она должна передаваться непосредственно в метод reachGoal).
Как бы мне воткнуть вместо
quantity: 1
значение из поля
<input type="text" name="quantity" ...
которое ввёл пользователь
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 14:40