Как передать onclick-функции значение value другого элемента
Пишу первый скрипт на JS (веб-форма), столкнулся с такой проблемой:
По событию onclick на выпадающем списке происходит обращение к функции. При этом функции нужно передать как value непосредственно этого выпадающего списка, так и value другого элемента в форме, а именно - radiobutton-a. Вот код: <input type="radio" name="polusharie" value="north" onclick="izmen_sozvezdie(this.value)">Северное полушарие <input type="radio" name="polusharie" value="south" onclick="izmen_sozvezdie(this.value)">Южное полушарие <select name="sozvezdie" size="1" onclick="calculate_zvezda(this.value,polusharie.value)"> <option value="0">Выберите группу созвездий</option> </select> Пробовал даже так: <input type="radio" name="polusharie" value="north" onclick="izmen_sozvezdie(this.value)">Северное полушарие <input type="radio" name="polusharie" value="south" onclick="izmen_sozvezdie(this.value)">Южное полушарие <select name="sozvezdie" size="1" onclick="calculate_zvezda(this.value,document.getElementById('polusharie').value)"> <option value="0">Выберите группу созвездий</option> </select> ...не работает ни так, ни этак. Второй аргумент в функции имеет значение undefined. |
Цитата:
|
walik, спасибо Вам большое.
Действительно, заработал второй фрагмент кода с заданным ID: <input type="radio" name="polusharie" id="polusharie" value="north" onclick="izmen_sozvezdie(this.value)">Северное полушарие <input type="radio" name="polusharie" id="polusharie" value="south" onclick="izmen_sozvezdie(this.value)">Южное полушарие <select name="sozvezdie" size="1" onclick="calculate_zvezda(this.value,document.getElementById('polusharie').value)"> <option value="0">Выберите группу созвездий</option> </select> Хоть проблема решена, всё же мне интересно: почему не работает первый вариант кода с обращением просто по имени? В JS таким образом ограничена видимость свойств объектов? Дело в том, что я раньше только в VB и VBA программы писал, а там, насколько понимаю, сама концепция формы другая. |
Потому что обращаться по имени к объекту можно только в контексте формы.
<form> <input type="radio" name="polusharie_north" value="north" onclick="izmen_sozvezdie(this.value)">Северное полушарие <input type="radio" name="polusharie_south" value="south" onclick="izmen_sozvezdie(this.value)">Южное полушарие <select name="sozvezdie" size="1" onclick="calculate_zvezda(this.value, this.form.polusharie_north.value)"> <option value="0">Выберите группу созвездий</option> </select> </form> |
Часовой пояс GMT +3, время: 20:14. |