将表单输入从servlet重定向到另一个表单

时间:2011-04-12 19:46:55

标签: java javascript forms servlets

我有一个servlet创建的表单,它应该从搜索中填写文本输入字段。所以形式是这样的:

<form name="form1">
  <input type="text" readonly="true" value="" /> <button href="/searchServlet />
</form>

单击该按钮时,它会打开另一个表单,该表单执行搜索并将结果显示为列表,用户可以从中选择任何结果。拾取的结果id填充表单中的一些隐藏字段。现在我在“form1”中获取那些隐藏的字段数据吗?是否有一些Javascript用于此目的?或者我可以将输入从一个servlet重定向到另一个servlet吗?

1 个答案:

答案 0 :(得分:1)

JavaScript确实是你的朋友。同时为输入命名,然后按钮按window.open()打开一个对话框。

<form name="form1">
  <input type="text" name="text1" readonly="true" />
  <button onclick="window.open('/searchServlet');">search</button>
</form>

然后在/searchServlet生成的HTML及其对话框中的JSP中,您可以使用window.opener获取父窗口,然后从那里执行常见的document内容,就好像您'坐在父窗口。这是一个基本的启动示例:

<button onclick="window.opener.document.form1.text1.value='1'; window.close();">1</button>
<button onclick="window.opener.document.form1.text1.value='2'; window.close();">2</button>
<button onclick="window.opener.document.form1.text1.value='3'; window.close();">3</button>

当然,你想在某些功能中抽象/重构冗长/重复。