我意识到你永远不应该禁用一个元素并且还需要它,因为如果它被禁用,用户如何使它有效?
但是,我有一些<select>
产品希望我的用户从中选择。当他们选择其中一种产品时,另一种<select>
产品的模型被填充、启用,并且仅当产品具有一个或多个模型时才需要。否则,模型选择将被禁用并清空。
虽然我喜欢认为我的代码是完美的,并且我可以做到这一点,以便模型下拉菜单永远不会被禁用和同时被要求,但我并不完美。那么,表单是否能够以<select>
禁用和必需的形式提交?
更新
取自 w3.org:
约束验证:如果元素是必需的,并且它的 value IDL 属性适用并且处于模式值中,并且元素是 mutable,并且元素的值是空字符串,则该元素正在遭受缺失。
查找具体的“可变”意味着什么。
表单控件可以指定为可变的。
注意:这决定(通过本规范中依赖于元素是否如此指定的定义和要求)用户是否可以修改表单控件的值或检查性,或者是否可以自动预填充控件.
Selects 没有值,所以它是由它的选项决定的。
选择元素没有值;它的选项元素的选择是用来代替的。
所以,我认为这意味着如果一个<select>
元素被禁用并且需要,那么表单可以被认为是有效的?