【问题标题】:get default value of input after change更改后获取输入的默认值
【发布时间】:2014-06-03 19:49:11
【问题描述】:

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

希望我的问题很清楚。谢谢!

【问题讨论】:

  • 您不必编写此代码,只需使用placeholder 属性即可。示例:<input type="text" placeholder="default text">
  • @Hatsjoem 多么简单,我不知道那个属性。你能把它作为答案吗?
  • 它有多简单,对吧? :D

标签: javascript jquery html


【解决方案1】:

在更改任何内容之前将值保存在 js 代码中的变量中,以便以后调用它。

var largeInit = $('.large').val();
var mediumInit = $('.medium').val();

【讨论】:

  • 问题是,因为有几个输入但只有 2 个类,我不知道如何选择每个值,然后将其分配给正确的值。
  • 不,我可能对自己的解释有点糟糕,但我的输入不止两个!但只有 2 个类,所以我不能将每个类都保存为一个 var。
  • 你为什么不识别你的输入?
  • @输入由插件动态生成。以为不需要。占位符做得很好!
  • 只要确保您的观众使用支持placeholder 属性的浏览器,请看这里:http://stackoverflow.com/questions/4004087/html-placeholder-browser-compatibility
【解决方案2】:

您可以在 html 代码中使用“占位符”来代替 js 或 jquery。

<input type="text" placeholder="yourdefaultvalue" />

如果用户在 input 和 focusout 中输入一个值,该值不会消失。

【讨论】:

    【解决方案3】:

    如果我完全理解您的问题,那么您可以使用该 html 元素的占位符属性来做到这一点

    尝试:

    <input type='text' placeholder='This your default value' />   
    

    如果这有帮助不要忘记接受答案。

    【讨论】:

      【解决方案4】:

      您不必编写此代码,只需使用placeholder 属性即可。

      例子:

      &lt;input type="text" placeholder="default text"&gt;

      【讨论】:

      • 只要确保您的观众使用支持placeholder 属性的浏览器,请看这里:http://stackoverflow.com/questions/4004087/html-placeholder-browser-compatibility
      • ...尽管如此,这仅在用户尚未在该字段中输入任何内容时才有效,正如@KeremZaman 在他们的回答中所指出的...
      • @webeno 但答案不再可用。这是一个具有数据属性的解决方案,但我看不到它,很高兴知道!编辑:啊不,是别人!
      • 我仍然看到它,它在最后说:'如果用户在 input 和 focusout 中输入一个值,该值不会消失。'
      • @webeno 是的对不起我的错,没有刷新!感谢您的信息!
      猜你喜欢
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多