我有一个登录栏,可用于登录到 2 个不同的系统,具体取决于用户从下拉列表中选择的值。然后,我根据用户选择的登录名提供默认值来填充每个文本框。但是,通过在文本框获得焦点时清除默认内容,然后在模糊时重新填充它来使用户更轻松。
$('#logintype').change(function() {
if ($(this).val() == 1) {
$('#loginf').attr('action','login1.php');
$('#loginf #user').attr('name', 'userid').attr('defaultValue', 'Username').val('Username');
$('#loginf #pass').attr('name', 'password').attr('defaultValue', 'password').val('password');
}
else {
$('#loginf').attr('action','login2.php');
$('#loginf #user').attr('name', 'email').attr('defaultValue', 'Email').val('Email');
$('#loginf #pass').attr('name', 'passed_password').attr('defaultValue', 'password').val('password');
};
});
$('.textbox').focus(function(){
if ($(this).val() == $(this).attr('defaultValue')) {
$(this).val('');
};
});
$('.textbox').blur(function(){
if ($(this).val() == '') {
$(this).val($(this).attr('defaultValue'));
};
});
有没有更有效的方法来实现这一点?我觉得我在重复自己,这绝不是一件好事。我也很欣赏关于这在用户体验方面是否是一个好主意的评论。