我想知道在.val()
更改后如何检索输入字段的默认值。我的标记是具有类.large
和.medium
的不同文本输入,并且我在每个字段中都有默认文本值。
我想要做的是,当用户focusin
字段时,默认值消失。当focusout
字段时,默认值会返回。现在,当用户已输入内容时,该字段即使在focusout
上也保持输入的值,但是如果用户删除其输入的文本并将焦点设置为默认值,我将无法工作应该再次出现。
我的代码是:
var $inputs = $('.large, .medium');
var allowSaveVal = true;
$inputs.on('focusin', this, function() {
saveVal = $(this).val();
if (allowSaveVal) $(this).val('');
});
$inputs.on('keydown', this, function() {
allowSaveVal = false;
$(this).css('color', '#000000');
});
$inputs.on('focusout', this, function() {
if($(this).val() == '') $(this).val(saveVal);
if (allowSaveVal) $(this).val(saveVal);
});
希望我的问题很明确。谢谢!
答案 0 :(得分:2)
您可以在html代码中使用“占位符”而不是js或jquery。
<input type="text" placeholder="yourdefaultvalue" />
如果用户在输入和焦点输入值,则值不会消失。
答案 1 :(得分:2)
您不必对此进行编码,只需使用placeholder
属性即可。
示例:
<input type="text" placeholder="default text">
答案 2 :(得分:1)
在您更改任何内容之前,请将值保存在js代码中的变量中,以后您可以稍后再调用它。
var largeInit = $('.large').val();
var mediumInit = $('.medium').val();
答案 3 :(得分:0)
如果我完全理解你的问题,那么你可以使用该html元素的占位符属性
尝试:
<input type='text' placeholder='This your default value' />
如果这有助于别忘了接受答案。