<button> -element的值不随表单</button>一起发送

时间:2014-05-21 08:21:56

标签: html forms button

我认为<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>表现得那样?

2 个答案:

答案 0 :(得分:2)

当按钮用于提交表单时,它们只是成功的控件。

您的按钮属于type="button",因此仅用于挂起JavaScript。它不会提交表格。

如果您将其更改为type="submit"(或完全删除type属性,因为提交是默认设置),那么它将在单击时提交表单,并且是一个成功的控件,其名称和值将显示在提交的数据。

Screenshot of Net tab

答案 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>