如何在未取消时取回原来的输入值?

时间:2014-10-02 14:13:15

标签: javascript jquery html

好吧,我计划在点击时隐藏输入元素的值,但在其他任何地方点击时再次显示。

这是我的HTML文件:

<div id="iletisim">
<h2>İletişim</h2>
    <div id="bilgiler">
        <p>info@gmail.com</p>
        <p>211-22-67-09</p>
        <p>New Oakland - CA</p>
    </div>
    <div id = "formlar2">
        <form id="formlar">
            E-POSTA :   <input type="text" name="email" value="eposta adresinizi giriniz">
            TELEFON :   <input type="text" name="telefon" value="telefon numaranızı giriniz">
        </form>
        <textarea rows="10" cols="64">İstek ve şikayetlerinizi buraya yazabilirsiniz!</textarea>
        <input type="submit"></input>
    </div>
    <div id='linkler'>
        <a href='http://www.facebook.com'><img src='images/fb.png'></img></a>
        <a href='http://www.twitter.com'><img src='images/twt.png'></img></a>
        <a href='http://www.instagram.com'><img src='images/in.png'></img></a>
    </div>
</div>

这是我发现的jquery代码:

$(document).ready(function(){
    $('#formlar2 input , textarea').click(function(){
        $(this).val('');
    });

    $('#iletisim p, #iletisim a, #iletisim h2').click(function(){
      var x = "eposta adresinizi giriniz"
      var y = "telefon numaranızı giriniz"
      var z = "İstek ve şikayetlerinizi buraya yazabilirsiniz!"
      $('#formlar2 input:nth-child(1)').val(x);
      $('#formlar2 input:nth-child(2)').val(y);
      $('textarea').val(z);
   });
});

我完全知道如果我试图以这种方式解决这个问题,只有点击jquery代码中提到的元素时才会显示原始值。

那么解决方案是什么,否则我必须提到除输入元素之外的所有其他元素。任何想法都会非常有用,尤其是快捷方式。非常感谢!

2 个答案:

答案 0 :(得分:1)

您正在寻找的功能称为占位符。退房:

链接示例:

$("'[placeholder]'").focus(function() {
  var input = $(this);
  if (input.val() == input.attr("'placeholder'")) {
    input.val("''");
    input.removeClass("'placeholder'");
  }
}).blur(function() {
  var input = $(this);
  if (input.val() == "''" || input.val() == input.attr("'placeholder'")) {
    input.addClass("'placeholder'");
    input.val(input.attr("'placeholder'"));
  }
}).blur();

答案 1 :(得分:0)

如果我确实帮到你,你可以使用blur事件:

$('input, textarea').on('blur', function(){
   //do your stuff here
});

Fiddle