#javascript #html #struts2
#javascript #HTML #struts2
Вопрос:
Мне нужно установить значение ‘s: textarea’, которое выбрано в кнопке ‘s: radio’.
В настоящее время я использую приведенный ниже код для этого. Но он всегда устанавливает значение ‘In test’ в ‘s: textarea’, которое является первым значением в списке кнопок ‘s: radio’.
function handleCommentChange()
{
var comment = document.getElementById('comment');
var radioComment1 = document.getElementById('radio1');
comment.value = radioComment1.value;
}
<td>
<s:radio id="radio1" name="radio1" list="#{'In test':'In test','Defect':'Defect','Pass':'Pass', 'Fail':'Fail' }"
onclick="javascript:handleCommentChange();" ></s:radio>
<br></td>
<td><s:textarea id="comment" name="comment" cols="25" rows="5"></s:textarea></td>
Пожалуйста, скажите, как я могу установить выбранное значение кнопки ‘s: radio’ в ‘s: textarea’.
Комментарии:
1. какое это имеет отношение к Java? Я вижу код Javascript, но здесь нет кода Java или ссылки.
2. Я отредактировал, чтобы удалить тег Java — за исключением того, что у меня нет привилегий для редактирования, поэтому изменение не произойдет до рецензирования.
3. Пометил свой будущий вопрос Struts2 тегом
struts2
.
Ответ №1:
Передайте ссылку на выбранный переключатель в вашу функцию handleCommentChange(). Вы можете передать this
, что даст функции ссылку на радиоэлемент и позволит вам получить доступ ко всем его свойствам и т.д., Или вы можете передать this.value
напрямую, и функция назначит эту строку вашей текстовой области. Я предпочитаю передать this
, чтобы обеспечить будущее расширение, требующее доступа к другим свойствам:
function handleCommentChange(aRadio) {
document.getElementById('comment').value = aRadio.value;
}
<s:radio ... onclick="handleCommentChange(this);">
Другой способ сделать это — настроить цикл для перехода по каждой переключающей кнопке и проверить, для свойства checked установлено значение true.