HTML按钮是否在表单中没有提交任何值?

时间:2016-05-28 10:53:40

标签: html

如果你有

<button class="button yellow" type="submit" 
name="button">Log in</button>

并且你提交了什么,什么被发布到服务器上的按钮有一个名称但没有值属性?

我问的原因是我正在解析HTML表单,并且需要发布将数据发送到服务器的命名值。我把其他人盖了,但不确定按钮。

5 个答案:

答案 0 :(得分:2)

发布button时,

server不会发布到form。只有input类型的textpasswordselect元素等接受用户inputs才会发布到server

答案 1 :(得分:2)

根据HTML Spec,按钮的值由其value属性确定,或者为空字符串。如果按钮具有名称并且用于启动表单提交,则仅使用表单提交按钮的值。如果单击示例中的按钮,则结果提交将为:

"button=" (quotes added)

某些浏览器(主要是较旧的IE版本)具有此按钮行为的incorrect implementations,可以将值设置为按钮的内容,也可以提交所有按钮值,而不管启动源。

答案 2 :(得分:1)

Button永远不会为表单提供价值。它只是提供一个提交事件,告诉浏览器使用method属性值将包含所有输入标记的表单提交到表单标记内的action属性。按钮仅提供事件而不是值。

答案 3 :(得分:1)

服务器上没有任何按钮发布的内容。当您单击按钮时,它会调用submit的操作,即全部。

答案 4 :(得分:0)

我通过在django中打印request.POST来尝试 This image显示“登录”按钮,没有值,但名称=“按钮”,如所要求的那样 控制台shows

< QueryDict: {u'csrfmiddlewaretoken': [u'9aAx..'], u'sensor': [u'sd1'], u'button':[u'']}>

因此,在这种情况下,表单作为字典发送,对于按钮,键,值对是“按钮”:“”。因此,如果您尝试使用request.POST.get获取此按钮的值,您将获得NULL。

因此,您的问题的答案是表单合并所有输入值,可以使用包括按钮在内的“名称”进行访问。如果未提供任何值,则返回NULL。