使输入标签的显示值和实际值(存储在value属性中)不同?

时间:2019-03-14 10:34:57

标签: javascript html html5

对于某些功能,我希望我的实际值和显示值不同。有没有办法通过JS做到这一点?

一种方法是获取另一个具有相同名称/标识但隐藏的输入标签。

2 个答案:

答案 0 :(得分:0)

编辑: 我可能会这样做的方式是,如果需要使用JavaScript来促进属性状态,则在提交之前附加一些javascript,并将事件侦听器附加到输入,例如,如果您希望属性是自定义的,而不是“值”,则需要一个事件'change'侦听器,它将使您的自定义属性保持更新。

类似的东西:

    element.addEventListener('change', () => {
    element.setAttribute('myAttrName', element.value);
});

这里的重点是您不需要额外的元素,而是几行js。

答案 1 :(得分:0)

您可以在UI控件中有一个自定义属性假设您在谈论输入标签,那么它就像这样:

<input type='text' id='txt' value='Display Value' data-custattr='Actual Value' />

在读取值时,您可以获取实际值,例如:

document.getElementById('txt').getAttribute('data-custattr')

希望这会有所帮助。