Как установить выбранное значение кнопки ‘s: radio’ в ‘s: textarea’ с помощью JavaScript?

#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.