【发布时间】:2015-12-06 11:44:09
【问题描述】:
我正在努力获得所需的行为 - 如下:
HTML 表单通过 jQuery 预先填充了一个值。当用户关注输入字段时,我希望表单清除。在表单模糊时,表单应使用现有值重新填充表单。
我有一个解决方案可以清除并重新填充表单,但只要输入任何内容就会失败。
这是我目前所拥有的:
var x = "Default";
$(function () {
$("input").attr({
"value": x
});
$("input").focus(function () {
$("input").attr({
"value": ""
});
});
$("input").blur(function () {
$("input").attr({
"value": x
});
});
});
https://jsfiddle.net/thepeted/p74kfdt8/6/
如果我查看开发人员工具,我可以看到输入值在 DOM 中动态变化,但如果用户在表单中输入了某些内容,则显示不再更新。
我很想了解为什么会发生这种情况(即,为什么它在一种情况下有效,而在另一种情况下无效)。另外,如果有更好的方法来解决这个问题。
【问题讨论】:
-
为什么不使用占位符属性呢? w3schools.com/tags/att_input_placeholder.asp
-
谢谢,我确实尝试过,但结果似乎完全相同。
-
让我明白这一点,您想在输入失去焦点后删除用户输入的值,对吗?
-
你在玩属性,你当然想玩属性...
-
您需要在stackoverflow.com/a/32497755/2006386下面的答案中添加值,也请查看我的演示使用
$('input').attr("value",x);
标签: javascript jquery html forms