Как выполнить несколько действий с одной формой? - PullRequest
0 голосов
/ 21 октября 2011

У меня есть форма, которая принимает идентификатор пользователя. Он расположен на странице с 3 кадрами. Как мне открыть два разных .jsp в кадрах после того, как пользователь отправит свой идентификатор?

1 Ответ

0 голосов
/ 21 октября 2011

В вашем теге <form/> используйте атрибут target="_parent", чтобы разбить текущий набор кадров. Затем в своем ответе вы можете отправить новый набор кадров, чтобы все три кадра были перезагружены.

Обновление, чтобы прояснить это немного:

Тег

form без атрибута target: Пользователь отправляет форму. Сервер обрабатывает данные формы и отправляет ответ, то есть страницу приветствия. Браузер показывает эту страницу ответа в том же фрейме.

form тег с target="_parent": пользователь отправляет форму. Сервер обрабатывает данные формы и отправляет ответ. Разница здесь в том, что браузер заменяет весь набор фреймов на серверный ответ. Это дает вам возможность обновить другие кадры.

Но в этом случае вы должны изменить ответ сервера. Если это все еще страница приветствия, то браузер покажет только эту страницу и никаких других кадров. Ответ сервера должен представлять собой набор фреймов, аналогичный исходному набору фреймов. Но вы можете заменить три фрейма URL другими URL-адресами:

Оригинальный набор кадров:

<frameset>
  <frame src="login.jsp" name="frame1" />
  <frame src="contentA.jsp" name="frame2" />
  <frame src="contentB.jsp" name="frame3" />
</frameset>

В ответ на вход пользователя вы отправляете новый набор фреймов

<frameset>
  <frame src="welcome.jsp" name="frame1" />
  <frame src="contentC.jsp" name="frame2" />
  <frame src="contentD.jsp" name="frame3" />
</frameset>
...