Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Передача данных формы в переменную (https://javascript.ru/forum/jquery/49716-peredacha-dannykh-formy-v-peremennuyu.html)

Asrover 26.08.2014 03:11

Передача данных формы в переменную
 
Всем привет! Мне нужно при нажатии на кнопку записать value определенного инпута, который входит в эту же форму. Затем данные отправляются в Яндекс.Метрику. Смастерил вот такой код, сражу скажу, что в Jquery совсем новичек.
<form>
<input type="text" class="hideModel" name="model" value="[B]{Значение поляMODEL}[/B]">
<input type="submit" onclick="yaCounter25915541.reachGoal('ORDER-METRIKA', yaParams); return true;" name="ok" class="order" value="Отправить заказ">
</form>

$(".order").click(function () {
      var namemodel = $('input[name=model]').val(); 
    });
//Ниже код Метрики, меня интересует только значение поля name
var yaParams= {
    order_id: "1",
    order_price: 1,
    goods: 
     [
        {
          id: "1", 
          name: $namemodel, 
          price: 1,
          quantity: 1
        } 
      ]

};

В метрику приходят данные со значением поля name=$('input[name=model]').val(), а должно name={Значение поляMODEL}. То есть значение переменной namemodel можно сказать не распаковывается. Помогите, в чем проблема?

ksa 26.08.2014 08:32

Цитата:

Сообщение от Asrover
В метрику приходят данные со значением поля name=$('input[name=model]').val(), а должно name={Значение поляMODEL}.

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function (){
	$(".order").click(function () {
		var namemodel = $('input[name="model"]').val(); 
		alert(namemodel);
	});
});
</script>
</head>
<body>
<form>
	<input type="text" class="hideModel" name="model" value="{Значение поляMODEL}">
	<input type="submit" name="ok" class="order" value="Отправить заказ">
</form>
</body>
</html>

Asrover 26.08.2014 11:58

ksa,
Ничего не изменилось

Viral 26.08.2014 12:01

подозреваю, что
id: "1", 
name: namemodel, 
price: 1,
quantity: 1

Asrover 26.08.2014 12:19

Viral,
Пробовал с $ и без,не помогает.

Viral 26.08.2014 12:20

Asrover, что значит "не помогает"?
как вы это определили?

Asrover 26.08.2014 12:23

В любом случае вот что приходит на Метрику http://dropmefiles.com/YBizb

ksa 26.08.2014 13:10

Цитата:

Сообщение от Asrover
Ничего не изменилось

В каком смысле? :blink:
В моем примере берется значение инпута, что не так?

Asrover 26.08.2014 13:26

ksa,
Значение то берется, а вот на Метрику отсылается неправильно. Вот я прошу подсказать в чем проблема.

ksa 26.08.2014 13:58

Цитата:

Сообщение от Asrover
а вот на Метрику отсылается неправильно

Таки шли "правильно"...

ksa 26.08.2014 14:04

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
//Ниже код Метрики, меня интересует только значение поля name
var yaParams= {
    order_id: "1",
    order_price: 1,
    goods: 
     [
        {
          id: "1", 
          name: '$namemodel дабы небыло ошибки у меня', 
          price: 1,
          quantity: 1
        } 
      ]

};
yaParams.goods[0].name='новое значение'
console.log(yaParams);
</script>
</head>
<body>
</body>
</html>

Asrover 26.08.2014 14:31

ksa,
Идут правильно, а почему они нормально не передают в переменную непонятно.

ksa 26.08.2014 14:39

Цитата:

Сообщение от Asrover
Идут правильно, а почему они нормально не передают в переменную

Я даже суть этой фразы не могу осилить...
Кто те "они"? Что значит "идут" и "нормально не передают"?

Viral 26.08.2014 14:43

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

Asrover 26.08.2014 14:43

ksa,
Данные с инпута передаются правильно в переменную, но если использовать эту переменную в метрике, то там она отображается некорректно, я уже скидывал ранее изображение.

ksa 26.08.2014 14:46

Я с теми "метриками" не работал... :no: Т.ч. извиняй...

Asrover 26.08.2014 15:17

Нужно было убрать var при объявлении переменной, чтобы она стала глобальной. Теперь все передается в Метрику. Но как сделать, чтобы передавалось значение того инпута, где была нажата кнопка.


Часовой пояс GMT +3, время: 11:53.