我在一个 JSP 页面中有两个表单,一个包含一个文本字段。我需要确保每当提交另一个表单时,它都会复制该文本字段中包含的值,并将其文本值写入隐藏参数中。
更清楚:
- 一种形式被命名为“搜索”;
- 另一种形式名为“changeInitialForm”;
- 文本字段包含在“搜索”表单中,其名称为“searchString”;
- “changeInitialForm”有一个隐藏字段,也叫“searchString”;
- 目的是确保无论用户提交一个表单还是另一个表单,都会传递一个带有文本字段值的“searchString”参数。
我试图在javascript中包含一个动作,在提交“changeInitialForm”时执行,它读取文本字段值并将其写入隐藏参数:
function searchContacts(form)
{
var searchString= document.search.searchString.value;
form.searchString.value= searchString;
}
...
<form name="search" >
<input type="text" name="searchString">
<button name="search"> Cerca </button>
</form>
...
<form name="changeInitialForm" method="post" action="AddressBookView.jsp" onSubmit="searchContacts(this.form);">
<input type="hidden" name="selectedInitial"/>
<input type="hidden" name="status" value="view"/>
<input type="hidden" name="searchString" />
</form>
但是在提交“changeInitialForm”之后,不管文本字段的值如何,并且传递了空参数,我在firebug中看到了这个:
我也很欣赏另一种解决方案,因为我知道我正在做的事情很棘手,但我没有找到另一种方法来做到这一点。"search" 和 "changeInitialForm" 不能合并在一个表单中,因为它们做的事情非常不同。