Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   передать значение по клику в input (https://javascript.ru/forum/dom-window/31239-peredat-znachenie-po-kliku-v-input.html)

nikolayblinov 31.08.2012 00:15

передать значение по клику в input
 
есть меню кафе и есть форма заказа.
хочу по клику передать анкор ссылки (название позиции меню) в value input'а формы заказа.

Вот до чего допер.

window.onload = function() {
    var menuelementitle = document.getElementByName('menuelementtitle');
    var zakaz = document.getElementByName('zakaz'); 
        menuelementtitle.onclick = function() {
            zakaz.value = menu-title.innerHTML;            
        }
    }

не работает. в js я девственник :help:

Deff 31.08.2012 00:48

Цитата:

Сообщение от nikolayblinov
хочу по клику передать анкор ссылки (название позиции меню) в value input'а формы заказа.

Выложите HTML для кликабельного элемента и куда помещать и с чего копировать

nikolayblinov 31.08.2012 07:56

Смотрите, вот это html того6 что я хочу передать
<span> <a name="menu-title" href="#">Пепси</a> </span
То есть передать нужно "Пепси" по клику.

Это input, куда я хочу значение "пепси" передать
<input class="foxtext" type="text" onblur="if(this.value=='') this.value=this.title;" onfocus="if(this.value==this.title) this.value='';" name="zakaz" style="width:235px !important;" title="Что хотите заказать?" value="Что хотите заказать?">

Deff 31.08.2012 08:33

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Активные темы</title>
</head>
<body>


<span><a name="menu-title" href="#" onclick="Zack(this);return false">Пепси</a></span><br /><br />
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Колу</a></span><br /><br />
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Спрайт</a></span><br /><br />

<input class="foxtext" type="text" onblur="if(this.value=='') this.value=this.title;" onfocus="if(this.value==this.title) this.value='';" name="zakaz" style="width:235px !important;" title="Что хотите заказать?" value="Что хотите заказать?">

<script type="text/javascript">
var First = true;
function Zack (MenuTitl) {
    var zakaz = document.getElementsByName('zakaz')[0];
    var dop=zakaz.value+', ';
     if(First) {First=false;dop="";}
    zakaz.value = dop + MenuTitl.innerHTML;            
}

</script>
</body>
</html>

Dim@ 31.08.2012 08:34

nikolayblinov,
Цитата:

Сообщение от nikolayblinov
Вот до чего допер.
window.onload = function() {
    var menuelementitle = document.getElementByName('menuelementtitle');
    var zakaz = document.getElementByName('zakaz'); 
        menuelementtitle.onclick = function() {
            zakaz.value = menu-title.innerHTML;            
        }
    }

Естественно не работает - проблема в 3 строчке, вместо
var zakaz = document.getElementByName('zakaz');

надо писать
var zakaz = document.getElementsByName('zakaz')[0];

nikolayblinov 01.09.2012 00:16

Deff, а как сделать чтобы значения заказа не стилась при следующем клике?
то есть чтобы можно было выбрать пепси, колу и страйт, а не либо колу либо пепси либо страйт.

То есть я соображаю, что нужно просто добавить значение

zakaz.value = zakaz.value + ", " + menu-title.innerHTML;

Как не прибавлять к дефолтному значению value="Что хотите заказать?">
а то если так6 я кликаю и у меня в инпуте "Что хотите заказать?, Пепси"

Deff 01.09.2012 00:26

Цитата:

Сообщение от nikolayblinov
Deff, а как сделать чтобы

Поправил

Cicero 16.03.2023 13:49

Цитата:

Сообщение от Deff (Сообщение 201932)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Активные темы</title>
</head>
<body>


<span><a name="menu-title" href="#" onclick="Zack(this);return false">Пепси</a></span><br /><br />
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Колу</a></span><br /><br />
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Спрайт</a></span><br /><br />

<input class="foxtext" type="text" onblur="if(this.value=='') this.value=this.title;" onfocus="if(this.value==this.title) this.value='';" name="zakaz" style="width:235px !important;" title="Что хотите заказать?" value="Что хотите заказать?">

<script type="text/javascript">
var First = true;
function Zack (MenuTitl) {
    var zakaz = document.getElementsByName('zakaz')[0];
    var dop=zakaz.value+', ';
     if(First) {First=false;dop="";}
    zakaz.value = dop + MenuTitl.innerHTML;            
}

</script>
</body>
</html>

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

voraa 16.03.2023 17:12

22 строка

Cicero 16.03.2023 17:49

Цитата:

Сообщение от voraa (Сообщение 551206)
22 строка


Спасибо.


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