我认为<button>
-element的行为类似于普通<input>
- 元素,因为按钮附加到表单并且可以有名称和值。
但是当谈到发送它的价值时,它就不会这样做。这个<button>
的值永远不会通过其他表单值:
<form action="" method="post">
<fieldset>
<button type="button" id="fieldname" name="fieldname" value="">
Click to select …
</button>
</fieldset>
</form>
value
- 属性是通过JavaScript设置的,效果很好。
有没有办法处理这个问题,而不使用额外隐藏的 <input>
元素?
有人可以解释,为什么<button>
表现得那样?
答案 0 :(得分:2)
当按钮用于提交表单时,它们只是成功的控件。
您的按钮属于type="button"
,因此仅用于挂起JavaScript。它不会提交表格。
如果您将其更改为type="submit"
(或完全删除type属性,因为提交是默认设置),那么它将在单击时提交表单,并且是一个成功的控件,其名称和值将显示在提交的数据。
答案 1 :(得分:0)
如果您在HTML表单中使用<button>
元素,则不同的浏览器可能会提交不同的值。使用<input>
在HTML表单中创建按钮。 (http://www.w3schools.com/tags/tag_button.asp)
为什么不使用它:
<form action="" method="post">
<fieldset>
<input type="button" id="fieldname" name="fieldname" value="Click to select …" />
</fieldset>
</form>