ElementInternals: setFormValue() 方法

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上运行。自 2023 年 3 月以来,它已在各种浏览器中可用。

ElementInternals 接口的 setFormValue() 方法设置元素的提交值和状态,将这些信息传达给用户代理。

语法

js
setFormValue(value)
setFormValue(value, state)

参数

value

要提交给服务器的值,可以是 File、字符串或 FormData

state 可选

代表用户输入的 File、字符串或 FormData。这使得应用程序可以在需要时,以用户提交的格式重新显示用户提交的信息。

注意: 通常,state 用于传递用户指定的信息,而 value 适用于(经过清理后)提交给服务器。例如,如果一个自定义元素要求用户输入日期,用户可能会输入“3/15/2019”。这就是 state。服务器期望的日期格式是 2019-03-15,此格式的日期将作为 value 传递。

返回值

Undefined。

异常

NotSupportedError DOMException

如果元素没有将其 formAssociated 属性设置为 true,则抛出此异常。

示例

在以下示例中,一个复选框自定义元素将 on 设置为发送到服务器的值,将 checked 设置为状态。

js
this.internals_.setFormValue("on", "checked");

规范

规范
HTML
# dom-elementinternals-setformvalue

浏览器兼容性