页面刷新后查找字段的默认值

Posted

技术标签:

【中文标题】页面刷新后查找字段的默认值【英文标题】:Find default value of field after page refresh 【发布时间】:2012-01-05 01:19:58 【问题描述】:

我正在寻找一种使用 jQuery 的方法来获取输入字段(在 html 字段中)的默认值。

看起来很简单。只是调用$("#id-of-field").attr('value') 应该返回我想要的值吗?

如果值为Foo,当我加载页面时,它会返回Foo。那里没问题。但是如果我在字段中写Bar,然后重新加载(不提交)页面,$("#id-of-field").attr('value')会返回我Bar,即使在源代码中,字段的值属性仍然是Foo

这使得我的表单验证变得很棘手,因为当我让我的默认值忽略它们时,如果该字段没有被填充,我可以在“要忽略的值”的组合中获得一个真正的值。

仅供参考,我无法手动输入值,因为表单是动态的,并且无法直接查询数据库,因为它是 Wordpress 网站。

【问题讨论】:

【参考方案1】:

你可以试试-

$("#id-of-field")[0].defaultValue

这应该得到 DOM defaultValue 属性,它应该给你文本框的原始值

https://developer.mozilla.org/en/XUL/textbox#p-defaultValue

【讨论】:

【参考方案2】:

试试这个

$('inputSelector').prop('defaultValue');

【讨论】:

【参考方案3】:

输入字段具有 defaultValue DOM 属性,可以满足您的需要。

根据this answer,jQuery(> 1.6.3)的访问方式是

$('#element').prop('defaultValue')

或者,在纯 javascript 中,例如-

document.getElementById("element").defaultValue

【讨论】:

以上是关于页面刷新后查找字段的默认值的主要内容,如果未能解决你的问题,请参考以下文章

页面刷新时如何处理来自同一页面中两个模式的值

刷新页面后怎么让js定时器继续刷新前的状态继续计时

在 Laravel 中刷新页面后保留下拉列表中的动态值

select选中的值刷新页面后保持原来的选项

为啥刷新页面后没有检测到Vuex? (努努特)

页面刷新后保留值