实现登录提示,文本框获得焦点时提示消失,失去焦点且文本框未输入任何文本时显示提示
HTML:
<div class="userInfo">
<form method="post" id="goto" action="~/Login/LoginUser">
<ul>
<li>
@Html.TextBoxFor(x => x.CompanyName, new { @class = "input wu",@valType="required", @dfltValue = "企业名称", @msg = "<font>*</font>企业名称不能为空" })
</li>
<li>
@Html.TextBoxFor(x => x.UserAccount, new { @class = "input wu", @valType = "required", @dfltValue = "用户账号", @msg = "<font>*</font>用户账号不能为空" })
</li>
<li >
@Html.TextBoxFor(x => x.UserPwd, new { @class = "input wu", @valType = "required", @dfltValue = "用户密码", @msg = "<font>*</font>密码不能为空" })
</li>
<li>
@Html.TextBoxFor(x => x.ValidateCode, new { @class = "input1 wu", @valType = "required", @dfltValue = "验证码" })
<span class="yzm"><img class="ValidateCode" src="@Url.Action("GetValidateCode", "Login", new { timestamp = DateTime.Now.Ticks })" width="74" height="30" style="cursor:pointer" alt="看不清请点击刷新验证码" title="看不清请点击刷新验证码" /><a href="javascript:void(0)" flag="freshValidateCode">点击刷新</a></span>
</li>
<li><input name="" type="checkbox" class="gxk" value="" /><span class="fuw">记住密码</span></li>
<li class="post jz"><a href="javascript:login()">登录</a></li>
</ul>
</form>
</div>
JS脚本如下:
但是IE8及以下版本对于密码框这一块并不兼容。因为IE8不支持修改input文本框的type属性。真的好贱。怎么解决啊!
$(document).ready(function () {
$(":input").each(function () {
$(this).val($(this).attr("dfltValue"));
$(this).focus(function () {
$(this).addClass("focus");
if ($(this).attr("dfltValue") == $(this).val()) {
$(this).val("");
if ($(this).attr("dfltValue") == "用户密码") {
this.type = "password";
}
}
}).blur(function () {
if ($(this).val() == '') {
$(this).removeClass("focus");
$(this).val($(this).attr("dfltValue"));
if ($(this).attr("dfltValue") == "用户密码") {
this.type = "text";
}
}
});
})
})