使用 jquery val() 清除只读输入日期在 Firefox 上失败,在 Chrome 上成功。为什么?

Clear readonly input date with jquery val() fails on Firefox, success on Chrome. Why?

我 运行 进入 Firefox 和 Chrome 之间的不同行为 JQuery.val('')

这是显示问题的 jsfiddle。 https://jsfiddle.net/mdqfbj/d4eovkg8/3/

单选按钮调用JS函数清除一些字段,包括一些<input type="date" >

在 Chrome 中工作正常,而在 Firefox 中,只有当日期输入不是 readonly.

时才会清除日期输入

由于 readonly 控制用户输入,我希望 .val('') 无论 readonly 是否存在都可以工作。

为什么不是这样?

根据您问题下的评论,这是一个与浏览器如何实现 HTML/JS 规范有关的问题。因此,除了使字段可编辑、更改其值,然后再次将其设为只读外,您无能为力:

$('#shippingOffDate').prop('readonly', false).val('').prop('readonly', true);