Перейти к содержимому


Партнерская программа Kredov

Как поместить в значение формы переменную JavaScript?

#1 Avin

Avin
  • Пользователь
  • 82 сообщений
  • Репутация: 1
0

Отправлено 02 Июнь 2010 - 07:59

Добрый день, уважаемые форумчане.

Появилась надобность в передаче переменной из javascript в value формы.

Никак не могу разобраться, возможно решение очень простое, но я уже устал искать в инете схожие темы, потому что схожих нет.

Подробнее: есть форма с хидден полем, в value этого поля нужно поставить переменную javascript.

Буду очень признателей за ответ, а не за пинки в Яшу, потому что в Яше пусто :)

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Работа с переменными Javascript
  2. При передаче переменной методом post через форму она пустая
  3. Форма обратной связи на Javascript + HTML помогите!
  4. Как получить значение формы
  5. Как в javascript занести переменные из php

#2 vvpol

vvpol
  • Пользователь
  • 22 сообщений
  • Репутация: 0

Отправлено 02 Июнь 2010 - 08:06

document.getElementsByName("имя_хиден_поля")[0].value = чего_надо_прописать.
Я подразумеваю что поле с именем "имя_хиден_поля" в документе всего ОДНО
  • 0

#3 Avin

Avin
    Topic Starter
  • Пользователь
  • 82 сообщений
  • Репутация: 1

Отправлено 02 Июнь 2010 - 08:15

Полей с хидден значением:

<input type="hidden" name="agetnum" value="">
<input type="hidden" name="placenum" value="">
<input type="hidden" name="name" value="">
<input type="hidden" name="agegrand" value="">
<input type="hidden" name="idq" value="">

То что вы написали надо засовывать в функцию, а потом ее вызывать, или можно просто в <script> </script> написать?
  • 0

#4 Avin

Avin
    Topic Starter
  • Пользователь
  • 82 сообщений
  • Репутация: 1

Отправлено 02 Июнь 2010 - 08:36

Пробую писать

<script language="JavaScript">
document.getElementsByName("name").value = "Avin";
</script>

Не работает, без ковычек тоже.
Так же попробовал document.forms.test.name.value="Avin";
Не работает.

Help.
  • 0

#5 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 02 Июнь 2010 - 08:41

Попробуйте обращатся не по имени, а задайте каждому ID и обращайтесь по нему(document.getElementById('myid'):).
Браузер какой у вас?
  • 0

#6 Avin

Avin
    Topic Starter
  • Пользователь
  • 82 сообщений
  • Репутация: 1

Отправлено 02 Июнь 2010 - 08:48

Сейчас попробовал в последней мозилле, гугл хроме, опере.

Попробовал, как вы сказали - не получается, пришлю код, возможно я просто неправильно пишу.

<script language="JavaScript">
document.getElementById('1234').value = "Avin";
</script>

<form method="post" action="index.php" name="test">

<input type="hidden" name="name" value="" id="1234">

<input type="submit" Value="продолжить">

</form>
  • 0

#7 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 02 Июнь 2010 - 08:52

Попробуй так

<script language="JavaScript">
document.getElementById('name').setAttribute('value','Avin');
</script>

<form method="post" action="index.php" name="test">

<input type="hidden" name="name" value="" id="name">

<input type="submit" Value="продолжить">

</form>

  • 0

#8 Avin

Avin
    Topic Starter
  • Пользователь
  • 82 сообщений
  • Репутация: 1

Отправлено 02 Июнь 2010 - 09:00

в обычный тип=текст он подставляет по первому примеру в интернет эксплорере(и то только в поле, в исходниках валуе пустой),

в валуе хиддена (последний пример) не вркячивается. (я смортю по исходному коду странцы в броузере)

Например в php можно писать так <input type="hidden" name="name" value="<? echo $name; ?>">

в жаве как то так может можно?
  • 0

#9 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 02 Июнь 2010 - 09:15

Просто скорее всего, JS инициализируется раньше загрузки страницы. Привяжите запуск скрипта к какому нибудь событию. OnLoad или OnClick
  • 0

#10 vvpol

vvpol
  • Пользователь
  • 22 сообщений
  • Репутация: 0

Отправлено 02 Июнь 2010 - 09:17

document.getElementsByName("name") возвращает массив
поэтому
document.getElementsByName("name")[0].value = "Avin";


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru