我在JSP页面中有两个表单。
<form id="myForm1">
<input type="text" name="formText" id="formText"></input>
.
.
.
</form>
<form id="myForm2">
<input type="text" name="formText" id="formText"></input>
.
.
.
</form>
在我的JavaScript中,我能够区分两个文本框,尽管两个文本框都使用相同的名称/ ID,使用类似这样的表单ID
document.forms["myForm1"]["formText"].value and
document.forms["myForm2"]["formText"].value return different values.
如何在Java代码中进行区分?例如,request.getParameter(&#34; formText&#34;)会返回什么?我希望能够在我的业务目标中做出这种区分。请帮忙。
答案 0 :(得分:2)
元素ID在整个文档中应该是唯一的,这是您应该遵循的规则。顺便说一句,你可以使用2个输入隐藏的字段,这些字段具有相同的名称但不同的值,然后在服务器端你应该能够达到你的目标。
<form id="myForm1">
<input type="text" name="formText" id="formText"></input>
<input type="hidden" name="whichform" value="myForm1"></input>
.
.
</form>
<form id="myForm2">
<input type="text" name="formText" id="formText"></input>
<input type="hidden" name="whichform" value="myForm2"></input>
.
.
</form>
答案 1 :(得分:0)
如果两种表单的业务逻辑不同,您可以考虑将表单的操作定位到不同的处理程序 - 每个表单一个。
<form id="myForm1" action="form1action.jsp">
在这种情况下,如果提交了form1,form1action.jsp将接收所有值,form2action.jsp将获得form2.jsp的所有值
这允许更简洁的设计,因为如果向form2添加字段,则不需要触摸form1内容。
原因Servlet可能更适合作为处理程序......