HTML中的ID与Name,ID是唯一标识,而Name则是名字,可以重复。大多数情况下,我们使用的ID比较多。
最近由于一直用使用现在的js库,prototype.js 等。但突然发现,项目中所使用的中间件生成的HTML控件都是没有ID的,只有Name!真够吓人的,不过在IE中,没有什么问题,IE几乎不区分这两者的差别,使用document.getElementById也可以得到名字为Name的控件。但在FF中就不行了,FF按照W3C的标准实现的这个函数,所以无法得到IE中的相同效果。这一点IBM就没有MS好,ASP.NET里的Render出的HTML肯定有ID,如果需要name,则值相同,且保证唯一性。
但我尝试把name改为id,类似于<input id="address" type="hidden" value="beijing" /> 结果,程序得不到这个控件的值,显然IBM是使用Name得到它的值的。后来查了查资料,发现大家都是要通过使用name才能正确得到客户端传给服务器的数据。但你要是想使用$方法,就必须得有id,要不FF下就不能用了。况且IE做的也不标准,以后没准哪天又发神经改了呢。
所以现在解决方案就是给<input />加上id和name2个值就ok了。但这问题又来了,可是郁闷的公共的java Tags,现在都没有实现id的输入,难道我申请改?那么多呀tag,写的那么乱-_- 目前看还是别用了tag了,要不写个js便利一下,给他们都赋值上id,想法太恶心了。
浙公网安备 33010602011771号