【发布时间】:2019-08-21 15:34:50
【问题描述】:
我在使用 JQuery.val('') 时遇到了 Firefox 和 Chrome 之间的不同行为
这是显示问题的 jsfiddle。 https://jsfiddle.net/mdqfbj/d4eovkg8/3/
一个单选按钮调用一个JS函数来清除一些字段,包括一些<input type="date" >。
在 Chrome 中它可以正常工作,在 Firefox 中,只有当日期输入不是 readonly 时才会清除它们。
由于 readonly 控制用户输入,我希望 .val('') 无论 readonly 是否存在都能正常工作。
为什么不是这样?
【问题讨论】:
-
这可能是 Firefox 的疏忽,或者这是规范所说的应该发生的事情,而 Chrome 正在做自己的事情。无论如何,这有点 hacky,但它有效:
$('#shippingOffDate').prop('readonly', false).val('').prop('readonly', true); -
我想过删除只读/清除/添加只读,但并不令人满意。我也想知道为什么,因为我已经认为我可以用 vanilla js 避开这个问题。
-
这不是 jQuery 问题,因为普通 JS 也会出现同样的行为:jsfiddle.net/eznyru5q。这是浏览器如何实现 HTML/JS 规范的问题
-
谢谢你能把它作为答案吗?
-
当然。添加了答案
标签: javascript jquery google-chrome firefox readonly-attribute