Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2015, 11:06
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Как при смене значения одного поля передать значение другого поля?
Есть следующая конструкция, прикрученная к одному из полей формы:

onChange="submitForm(this.value, another.value)


Параметр this.value передаёт значение поля, после его изменения, а вот как передать "another.value"? Пробовал document.form.field_name.value - приходит undefined. Пробовал просто field_name.value - тоже самое.

Как передать из формы текущее значение одного из её полей при смене другого поля?

P.S. Разумеется form и field_name соответствуют названию формы и названию соответствующего поля.
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2015, 11:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

javascript_pupil,
this.form.field_name.value
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2015, 12:00
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Получилось, спасибо! Только я не понял, почему this.form.field_name.value работает, а если заменить "form" на реальное имя формы, то не работает?
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2015, 12:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

javascript_pupil,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<form action="http://" name="test">
    <input name="bumbum" type="radio" value="5">
    <input name="bumbum" type="radio" value="15" checked="checked">
    <input name="field_name"><input name="" onChange="alert([this.value, document.test.field_name.value, document.querySelector('[name=\'bumbum\']:checked').value])" >
</form>
</body>

</html>

Последний раз редактировалось рони, 30.01.2015 в 14:09.
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2015, 13:15
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Спасибо! Теперь ясно: либо this.form либо document.formname.

Теперь пытаюсь передавать значение radio поля - опять не передаётся, хотя все input type=text работают.
Ответить с цитированием
  #6 (permalink)  
Старый 30.01.2015, 13:31
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Поясню задачу. Нашел несколько примеров, когда значения радио-кнопки определяются в дополнительной функции. Но мне каким-то образом надо сделать, чтобы всё это было в одной строке, которая должна жить в onChange, как в первом примере и как в сообщении № 4.
Ответить с цитированием
  #7 (permalink)  
Старый 30.01.2015, 14:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

javascript_pupil,
вы похоже ... маитесь.
смотрите 4 пост.
Ответить с цитированием
  #8 (permalink)  
Старый 31.01.2015, 10:15
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Очень интересный вопрос возник: как эту прелесть:
document.querySelector('[name=\'bumbum\']:checked').value])

вставить внутрь ещё одних одинарных кавычек? Например сюда:
insertAdjacentHTML('beforeEnd','<input type="text" name="field_name" value="" onChange="alert([this.value, document.querySelector('[name=\'lalala\']:checked').value]')">');
Приведённый пример разумеется не работает. Непонятно как экранировать одинарные кавычки внутри одинарных кавычек. Каламбурчик получился смешной, но непонятный.
Ответить с цитированием
  #9 (permalink)  
Старый 31.01.2015, 11:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

javascript_pupil,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<form action="http://" name="test" id="test">
    <input name="bumbum" type="radio" value="5">
    <input name="bumbum" type="radio" value="15" checked="checked">
</form>
<script>
    test.insertAdjacentHTML('beforeEnd','<input type="text" name="field_name" value="" onChange="alert([this.value, document.querySelector(\'[name=bumbum]:checked\').value])"  >');
</script>
</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 31.01.2015, 11:58
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

рони, не знал, что так просто. Спасибо! А это по канонам? Если да, то зачем ставили одинарные кавычки до этого? Моя запуталась.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Как передать значение переменной? maksbp22 Общие вопросы Javascript 0 11.10.2013 16:21
Ребят как передать значение из php в src название изображения! SpiritDark Элементы интерфейса 4 14.05.2012 14:02
Как передать значение по ссылке на другую страницу сайта Rollo Общие вопросы Javascript 7 18.10.2010 15:02
Дублирование значения одного поля формы в другое LatSer Общие вопросы Javascript 0 15.01.2010 14:46