有两个同名的input元素是有效的吗?

即:

<form 1> <input type="hidden" name="url" value="1"> </form 1> 

 <form 2> <input type="hidden" name="url" value="2"> </form 2> 

这是允许的和有效的?

是的,就你而言,这是有效的。 考虑一下:

这是好事

 <form name="form1"> <input type="hidden" name="url" value="1"> </form> <form name="form2"> <input type="hidden" name="url" value="2"> </form> 

不是很好

 <form name="form1"> <input type="hidden" name="url" value="1"> <input type="hidden" name="url" value="2"> </form> 

是。

更重要的是,如果你正在处理单选button组,这是非常重要的。

是的 – 每个只会提交各自的表格。

如果你有他们在同一个forms,一个会覆盖另一个,这是无效的。

“这不好”在我所知道的每个浏览器上正确parsing; 如果两个url出现在url编码的string中,它将被视为一个数组。 在JQuery中试试这个:

 $('<form name="form1">\ <input type="hidden" name="url" value="1">\ <input type="hidden" name="url" value="2">\ </form>').serialize() 

你会得到: "url=1&url=2"

一个写得很好的查询stringparsing器将返回一个像这样的json结构:

  {"url":["1", "2"]} 

这是严格的规格吗? 没有,但是也没有像上面那样通过用反斜杠转义EOL来创build多行string。

要testing它是否有效,请在W3C创build页面并进行testing:

http://validator.w3.org/

 A) < form 1> < input type="hidden" name="url" value="1"> < /form 1> and < form 2> < input type="hidden" name="url" value="2"> < /form 2> is Okay,beacuse forms submiting time will be different B) < form 1> < input type="hidden" name="url" value="1"> < input type="hidden" name="url" value="2"> < /form 1> is also okay, but not standard coding practice JAVA Code two extract both values :: Map<String,String[]> parmMap = requestObj.getParameterMap(); String input1 = parmMap.get("url")[0]; String input2 = parmMap.get("url")[1];