JSP — передача значений в modal на той же странице

#javascript #jsp #bootstrap-4 #struts2 #bootstrap-modal

#javascript #jsp #bootstrap-4 #struts2 #bootstrap-модальный

Вопрос:

У меня есть страница jsp, которая содержит имя пользователя и кнопку, когда я нажимаю на кнопку, я хочу передать имя пользователя модальному, затем при нажатии на модальную кнопку я отправляю имя пользователя на серверную часть (действие struts2). (Сценарий, проиллюстрированный на рисунке ниже)

Я попытался передать имя пользователя с помощью onClick :

 <%-- Page.jsp --%>
<button onclick="document.forms[0].username.value='BOB'; toggle="modal" data-target="#myModal">
   <fmt:message key='Delete user'/>
</button>
<jsp:include page="deleteUserModal.jsp"/>
 

В модальном я хочу прочитать значение unsername :

 <%-- Modal.jsp --%>
<button onclick="document.forms[0].username.value='???';document.forms[0].action='deleteMethod';document.forms[0].submit();">
  <fmt:message key='delete'/>
</button>
 

Любая идея, пожалуйста,

введите описание изображения здесь

Ответ №1:

Вы пытаетесь получить доступ к элементам из другого окна. Для настройки модального содержимого вы должны использовать data-* атрибуты HTML. Смотрите, как использовать проверку модального содержимого с помощью bootstrap.

 <button onclick="document.forms[0].username.value='BOB'; toggle="modal" data-target="#myModal" data-username='BOB'>
   <fmt:message key='Delete user'/>
</button>
 
 $('#myModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) 
  var username = button.data('username') 
  var modal = $(this)
  modal.find('.modal-body button').click(function(){
    alert(username);
})
})
 

Комментарии:

1. Спасибо за ваш ответ, я исправил это, передав область действия: <c:set var=»username» value=»BOB» scope=»request»/>

2. Добро пожаловать, флажок находится слева от ответа.