更改后获取输入的默认值

时间:2014-04-19 10:15:36

标签: javascript jquery html

我想知道在.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);
        });

希望我的问题很明确。谢谢!

4 个答案:

答案 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' />   

如果这有助于别忘了接受答案。