ID和Name的问题------写个<input type="hidden">在后台取不到值

来源:互联网 发布:淘宝刚上架过期不存在 编辑:程序博客网 时间:2024/04/28 18:08

link:给推荐几个对程序员来说神器般存在的软件

在页面里输入了一个input type="hidden",只写了一个id='myId',

<input type="hidden" id="myId">

赋值后submit,在后台用Request.Params["myId"]却怎么也取不到值。

应该用name来标识,于是在input里加了个name='myId',就一切ok了。


<input type="hidden" id="myId" name="myId">


这样就可以在后台得到这个值。具体怎么取,就看什么框架,怎么取了。我用的是springMVC的框架,要是没有name属性,就会不成功。加上之后就ok了。


可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。


因为Name有很多种的用途,所以它并不能完全由ID来代替,从而将其取消掉。具体用途有:

    用途1: 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。
    用途2: HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的Name属性来实现的。
    用途3: 建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用Name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点。
    用途4: 作为对象的Identity,如Applet、Object、Embed等元素。比如在Applet对象实例中,我们将使用其Name来引用该对象。
     用途5: 在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的Name)。
    用途6: 某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。

0 0