2011-07-01 158 views
1

我有一些登录表单,如果有人设置其电子邮件被记住,它将被预填充在电子邮件输入中。 我想要的是,如果点击电子邮件输入,内容(实际电子邮件)就会消失,但如果他点击了,则会再次显示电子邮件。 但我只是设法使电子邮件淡出,我不知道热的恢复重点的旧价值。验证码:窗体输入焦点输入/输出

  $(document).ready(function() { 
     $('input').focus(function() { 
     $(this).val(""); 
     }); 
     $('input').focusout(function() { 
     $(this).val(); 
    }); 
    }); 

大约应该是重点的价值是什么了让老想起值(电子邮件)出现有什么想法?

谢谢!

回答

1

我平时攒的“默认“的值,以便它可以很容易地检索模糊:

$('.placeholder').live('focus', function() { 
    if ($(this).val() == $(this).attr('title')) $(this).val(''); 
}); 
$('.placeholder').live('blur', function() { 
    if ($(this).val() == '') $(this).val($(this).attr('title')); 
}); 
+3

好主意,但在这种情况下,你最好用数据()函数来存储数据 –

+0

其实 - 和请纠正我,如果我错了 - 我认为标题是存储这种类型数据的好地方。用作占位符的文本为用户提供了一个指南,并且将这些文本显示在鼠标上(大多数浏览器中的标准功能)实际上是一件积极的事情,至少在我眼中是这样。也;如果没有必要,我认为没有必要增加运行jquery函数的开销。 –

+0

我不这么认为,从w3schools阅读我发现:'标题属性通常与表单和元素一起使用,以提供有关输入格式和链接目标的信息。它也是缩写和首字母缩略词元素的一个必需属性。“保存电子邮件似乎对我来说不是一个好主意,但说实话,我不认为你做错了什么! :) –

0

你可以这样做:

$(document).ready(function() { 
     var oldemail; 
     $('input').focus(function() { 
      oldemail = $(this).val(); 
      $(this).val(""); 
     }); 
     $('input').focusout(function() { 
      $(this).val(oldemail); 
     }); 
    }); 

(只有一两件事:这不正是你想要什么,我想,但它并没有太大的意义给我!)

0

jQuery中没有作为焦点的功能。 U可以使用模糊代替..

$(document).ready(function() { 
    $('input').focus(function() { 
     $(this).val(""); 
    }); 
    $('input').blur(function() { 
     $(this).val(); 
    }); 
});