Javascript 输入与obj.value不同的[type=text]显示值

Javascript 输入与obj.value不同的[type=text]显示值,javascript,dom,Javascript,Dom,我希望输入类型=文本作为输入类型=日期 规格如下: 显示的日期应符合当前区域设置(lang属性) 获取值应符合ISO 8601(YYYY-MM-DD)的要求 设置DOM值应符合ISO 8601的要求 POST值应为ISO 8601 假设我有这个字段,带有nl语言环境: <input lang="nl-NL" value="2012-11-07"> - 应返回2012-11-07 document.getElementById('date').value = '2012-11-0

我希望输入类型=文本作为输入类型=日期

规格如下:

  • 显示的日期应符合当前区域设置(lang属性)
  • 获取值应符合ISO 8601(YYYY-MM-DD)的要求
  • 设置DOM值应符合ISO 8601的要求
  • POST值应为ISO 8601
假设我有这个字段,带有nl语言环境:

<input lang="nl-NL" value="2012-11-07">
-

应返回2012-11-07

document.getElementById('date').value = '2012-11-07'

应再次显示为7-11-2012

getter和setter已被弃用,不应使用-最好编写自己的自定义方法,因为您无法更改DOM的工作方式…无法编写自定义方法,因为这必须作为标准库工作。您确定您的设计是正确的吗你想要什么?如果
element.value
实际上不能正常工作,这会让人感到困惑。如果您不希望对元素使用自定义方法,那么包装呢?类似于一个
$
函数,它返回一个带有getter的对象,比如
$(element).value
。如果浏览器支持本机,则显示上述行为。为了确保这在其他不支持date的浏览器中也能正常工作,我想创建一个Javascript库,使其能够正常工作。(连同日期选择器和其他UI元素)。这就是为什么我想覆盖默认的obj.value getter和setter。我看到您已更改为Object.defineProperty,但这在所有浏览器(例如IE)中都不起作用
document.getElementById('date').value
document.getElementById('date').value
document.getElementById('date').value = '2012-11-07'