jQuery默认/占位符输入文本和保存信息的问题

jQuery默认/占位符输入文本和保存信息的问题,jquery,css,login,autocomplete,input,Jquery,Css,Login,Autocomplete,Input,我是jQuery新手,有一个恼人的问题。 我有一些登录字段,当字段为空时用默认文本填充,然后在单击时删除 我的问题是,当用户保存用户名/密码(使用浏览器)时,如果他们返回页面,登录字段将填充用户保存的输入以及默认输入 $('#login input.text').each(function(i, field) { field = $(field); if (field.val().length > 0) { fiel

我是jQuery新手,有一个恼人的问题。 我有一些登录字段,当字段为空时用默认文本填充,然后在单击时删除

我的问题是,当用户保存用户名/密码(使用浏览器)时,如果他们返回页面,登录字段将填充用户保存的输入以及默认输入

$('#login input.text').each(function(i, field) { field = $(field); if (field.val().length > 0) { field.prev().css('display', 'none'); } field.focus(function() { field.prev().css('display', 'none'); }).blur(function() { if (field.val() == '') field.prev().css('display', 'block'); }); }) $('#login input.text')。每个(函数(i,字段){ 字段=$(字段); 如果(field.val().length>0){ field.prev().css('display','none'); } field.focus(函数(){ field.prev().css('display','none'); }).blur(函数(){ if(field.val()='')field.prev().css('display','block'); }); })
我会选择这样的方式,使用默认值,而不是在字段旁边显示隐藏内容。当然,您可以使用任何自定义属性而不是名称,但拥有登录名和密码似乎很好:

$(function(){ 
    $('#login input.text').each(function() {
        var field = $(this);
        if (!!field.val() && field.val() !=field.attr('name')) {
            field.val(field.attr('name'));
        }
    }).focus(function() {
        var field = $(this);
        if (field.val() == field.attr('name')) field.val('');
    }).blur(function() {
        var field = $(this);
        if (!!field.val()) field.val(field.attr('name'));
    });

}))

我建议使用html5占位符属性

<input type="text" placeholder="username" name="username">


Mike Taylor编写了一个很棒的jQuery插件来支持还不支持此属性的浏览器

是否要停止浏览器自动完成字段,或者在浏览器自动完成时隐藏field.prev()?