Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

как передать переменную из twig в js


Recommended Posts

в twig:

<input type="text" name="productK" value="{{ product.name }}" />

тут же js:

 var productK  =    document.getElementsByName("productK").value;

в итоге переменная productK пустая . вопрос вообще как мне получить имя товара или вообще любые атрибуты товара путем {{ }}?

Надіслати
Поділитися на інших сайтах


1 час назад, Anton1988 сказал:

в twig:

<input type="text" name="productK" value="{{ product.name }}" />

тут же js:

 var productK  =    document.getElementsByName("productK").value;

в итоге переменная productK пустая . вопрос вообще как мне получить имя товара или вообще любые атрибуты товара путем {{ }}?

А почему нельзя? Если все конечно в шаблоне

var productK  = '{{ product.name }}';

 

Надіслати
Поділитися на інших сайтах

8 годин назад, Anton1988 сказав:

alert(productK);

пусто ничего не выводит . не работает.может в чтото обернуть надо или еще что

Вы исходный код страницы откройте и убедитесь для начала, что у вас переменная таки вывелась.

 

 

12 година назад, Anton1988 сказав:

 var productK  =    document.getElementsByName("productK").value;

Как можно догадаться даже по названию метода, getElementsByName возвращает не один элемент, а список (если точнее, то NodeList).

Чтоб получить значения первого (или единственного) элемента, обращаться нужно так:

document.getElementsByName("productK")[0].value

 

Надіслати
Поділитися на інших сайтах


13 хвилини назад, Anton1988 сказав:

также пусто в алерте . не работает!

 

Сделайте это:

4 години назад, Dotrox сказав:

Вы исходный код страницы откройте и убедитесь для начала, что у вас переменная таки вывелась.

 

Если переменной там нет, вопрос вообще не к js.

  • +1 1
Надіслати
Поділитися на інших сайтах


2 хвилини назад, Anton1988 сказав:

куда вывелась? как это сделать как ее проверить есть она или нет 

В тело страницы. И как проверить я уже написал - исходный код страницы в браузере.

 

4 хвилини назад, Anton1988 сказав:

она есть потомучто в поле отображается имя товара но вот в js не хочет залазить

В таком случае у вас вопрос изначально неправильно поставлен. Если в поле значение есть, значить twig свою работу уже выполнил и у вас проблема в js. И, вероятно, решить вашу проблему не получится не видя сайта (только не надо мне его в личку скидывать).

Надіслати
Поділитися на інших сайтах


в теле страницы есть. далее при нажатии onclick выполняется функция 

вот тело          {% if product.thumb %}
                            <a href="#" class="rm-cart-products-item-img">
                                <img src="{{ product.thumb }}" alt="{{ product.name }}" />//product.name отображается в alte
                            </a>
                            {% endif %}

         //  product.name загоняю в форму в hidden

                      <div class="form-group">
                        <label class="rm-control-label" for="passwordLoginInput"><span class="required"> </span>Ваш номер телефона</label>
                        <input type="number" name="phoneK" class="form-control" id="phoneK" placeholder="+7">
                        <input name="costK" value="{{ product.total }}" style="display: none;" hidden />
                        <input name="productK" id="productK" value="{{ product.name }}" style="display: none;" hidden />
                        
                        {% if redirect %}
                        <input type="hidden" name="redirect" value="{{ redirect }}" />
                        {% endif %}
                    </div>

                 <script>

            function showInput() {
            var productK  = '{{ product.name }}';     // не работает пусто

          //  var productK = document.getElementById("productK")[0].value; // не работает пусто
           // var costK = document.getElementsByName("productK")[0].value;  // не работает пусто

         

           alert(productK); /// ниче не показывает
                   }

            </script>

Надіслати
Поділитися на інших сайтах


38 хвилин назад, Anton1988 сказав:

вот тело

Это не тело, это кусок шаблона!

Я же написал, смотрите исходный код в браузере, если хотите проверить выводиться или нет.

 

var productK  = '{{ product.name }}';

В этой строке в браузере у вас должно быть:

var productK  = 'Название товара';

 

 

Вот здесь у вас опять ошибка:

document.getElementById("productK")[0].value

Если getElementsByName возвращает список, то getElementById возвращает конкретный элемент (на самом деле ссылку на него, но это тут несущественно). То есть, здесь уже обращаться через индекс не нужно.

Научитесь гуглить документацию, это всё есть на MDN!

 

И перестаньте проверять через алерт. Используйте консоль браузера.

Надіслати
Поділитися на інших сайтах


46 минут назад, Anton1988 сказал:

могу делать так? в контроллере и как я понимаю отправляется запрос или нет ?

 

$json['telegram'] = $this->request->post('https://test.ru/test.php?a='.  $json['productK']);

нет и еще раз нет. вам выше написали что нужно сделать. Вы сделали это?? видимо нет поскольку задаете не те вопросы. Ссылку на страницу дайте где находится этот елемент. не хотите давать ссылку тогда идите в ветку услуги, здесь телепатов нет. Нет денег и не хотите ссылку давать тогда погуглите. Вы своим кодингом сайт сломаете 

Надіслати
Поділитися на інших сайтах

26 минут назад, Anton1988 сказал:

также пусто не работает 

 

Вы в код страницы посмотрите, выводиться у вас вообще то что вставляете. правой кнопкой щелкаем на сайте в люб месте и выбрать Просмотр кода страницы

Куда вы вставляете код??? Почему ссылку на страницу не даете если вам так нужна помощь по этому вопросу?

Надіслати
Поділитися на інших сайтах

32 минуты назад, Anton1988 сказал:

также пусто не работает 

только что протестил на дефолтном шаблоне. Вы сто процентов что то не то делаете или не доделываете. Вставили код, обновили модификаторы, потом обновить кеш.

И ЕЩЕ РАЗ!!!! Посмротреть исходный код страницы, НЕ ШАБЛОНА, страницы есть там код этот или нет

Надіслати
Поділитися на інших сайтах

3 минуты назад, Anton1988 сказал:

нет пусто не выводится именно у меня <div class='rm_notyfy'></div> а по соседству пожалсто <a href = '#'>Продукт такойто</a> все работает 

а у вас не будет выводиться мой код в <div class='rm_notyfy'></div>, я вам показал как данные в переменной получить а дальше сами выводите в свой блок

Надіслати
Поділитися на інших сайтах

5 минут назад, Anton1988 сказал:

хорошо вот в другом тестил twig там вылазит undefined 

а потому что в цикл вот это вставить надо

<input type="text" id="productName" name="productK" value="{{ product.name }}" />

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.