Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2013, 10:09
Новичок на форуме
Отправить личное сообщение для kazankoff Посмотреть профиль Найти все сообщения от kazankoff
 
Регистрация: 20.02.2012
Сообщений: 7

изменить значение переменной в onSelect
Добрый)
Подскажите пжста, имеет ли право на существование конструкция типа :

<script>var msg = "some text"<script>
.... некоторый html-код ...
<input name="vot" type="radio" value="new" onSelect=' msg="other text" '>
.... некоторый html-код ...
<script>document.write(msg);</script>

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

просьба помидоры не кидать =)
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2013, 10:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

kazankoff,
Цитата:
Метод document.write(str) корректно работает только пока HTML еще не догружен
http://learn.javascript.ru/document-write
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2013, 11:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kazankoff
мне почему то казалось что должно работать, но нет
Почему нет? Работает ведь:
<script>var msg = "some text"</script>
.... некоторый html-код ...
<input name="vot" type="radio" value="new" onSelect=' msg="other text" '>
.... некоторый html-код ...
<script>document.write(msg);</script>

Выводит значение глобальной переменной msg ("some text")
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2013, 21:36
Новичок на форуме
Отправить личное сообщение для kazankoff Посмотреть профиль Найти все сообщения от kazankoff
 
Регистрация: 20.02.2012
Сообщений: 7

Сообщение от danik.js Посмотреть сообщение
Выводит значение глобальной переменной msg ("some text")
ну да, а хотелось бы, чтобы onSelect менял значение переменной. Но не меняет. Вот в чем собственно и вопрос, можно ли изменить значение переменной через onSelect? вроде бы почему нет.. но вот почему-то нет.
.. а в связи с выяснившейся правдой об document.write теперь передо мной встает еще один вопрос, какой инструмент можно использовать для вывода в тело документа того или иного текста в зависимости от того, какой из селекторов <input type="radio"> выбран пользователем?
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2013, 23:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kazankoff
ну да, а хотелось бы, чтобы onSelect менял значение переменной. Но не меняет.
Да нет же. Меняет. Значение переменной msg меняет. А вот значение текстового узла, созданного через document.write - не меняет. А с какой кстати? Для изменения значения текстового узла нужно использовать DOM-методы.
Проще всего обернуть текстовый узел элементом с уникальным id и уже по нему обращаться и менять значение узла через свойство innerText/textContent элемента (верней перезаписывать узел).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 02.10.2013, 09:16
Новичок на форуме
Отправить личное сообщение для kazankoff Посмотреть профиль Найти все сообщения от kazankoff
 
Регистрация: 20.02.2012
Сообщений: 7

Сообщение от danik.js Посмотреть сообщение
Проще всего обернуть текстовый узел элементом с уникальным id и уже по нему обращаться и менять значение узла через свойство innerText/textContent элемента (верней перезаписывать узел).
Понятно. Это я учту, спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 02.10.2013, 09:27
Новичок на форуме
Отправить личное сообщение для kazankoff Посмотреть профиль Найти все сообщения от kazankoff
 
Регистрация: 20.02.2012
Сообщений: 7

С учетом вышесказанного попробовал выстроить схему.
Приведу кусок реального кода, потому что возможно причина того что вся схема не работает в какой - то детали. Может быть канешна я где-то по-большому нагрешил, так как в js не силен, только пытаюсь разобраться ..
============
...
<input name="newuser" type="radio" value="old" checked onSelect='document.getElementById("txt").innerHTML ="Пароль"'>Я уже зарегистрирован(а)
<div style="clear:both; height:12px;"></div>
<input name="newuser" type="radio" value="new" onSelect='document.getElementById("txt").innerHTML ="Придумайте пароль"'>Я хочу зарегистрироваться
<br><br>
<div style="clear:both"></div>
<label for "email">email</label>
<input name="email" type="text" size="32" value="<?=$_REQUEST['email']?>"><br>
<label for "pswd" id="pswdlabel"><span id="txt"></span></label>
<input name="pswd" type="password" size="12">
...
===============
вобщем то это я такую форму авторизации затеял, которая если что то выполняет заодно и форму регистрации, и роль эта определяется выбором пользователем соответствующей radiobutton.
так вот, когда пользователь выбирает радиобаттон, то надо, чтобы кое-какие изменения в форме происходили, для начала пусть меняется подпись в лейбле к инпуту "password", а дальше когда все наконец -то заработает!! буду дальше делать по-аналогии.
.. но пока чего-то не работает .. то есть onSelect никаких изменений в span, который id="txt" не вносит.
.. можа кто-то подскажет в чем ошибка...

Последний раз редактировалось kazankoff, 02.10.2013 в 09:37.
Ответить с цитированием
  #8 (permalink)  
Старый 02.10.2013, 10:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от kazankoff
onSelect
замените на клик onclick
Ответить с цитированием
  #9 (permalink)  
Старый 02.10.2013, 10:19
Новичок на форуме
Отправить личное сообщение для kazankoff Посмотреть профиль Найти все сообщения от kazankoff
 
Регистрация: 20.02.2012
Сообщений: 7

Сообщение от рони Посмотреть сообщение
замените на клик onclick
спасиб! да не оскудеет рука дающего! =)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42
Как значение переменной вставить в имя переменной? jsgogo Общие вопросы Javascript 3 02.06.2013 12:11
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Значение переменной salex009 jQuery 1 05.12.2011 16:55
Изменить значение переменной функции через select Fenec Элементы интерфейса 5 13.08.2010 15:32