这段代码在 Javascript 中对我来说很好用。
function check_u() {
var errormessage = document.getElementById("errorname");
var user = document.forms["login"]["user"].value;
if (user == null || user == "") {
errormessage.innerHTML = "Please enter your user id";
} else {
errormessage.innerHTML = "";
}
}
function check_p() {
var errormessage = document.getElementById("errorpass");
var pass = document.forms["login"]["password"].value;
if (pass == null || pass == "") {
errorShow.innerHTML = "Password cannot be blank";
} else {
errorShow.innerHTML = "";
}
}
我的html是:
<input type="text" name="user" autocomplete="off" onBlur="check_u()" />
<input type="text" name="password" autocomplete="off" onBlur="check_p()" />
<div id="errorname" />
我已经在 jQuery 中为此代码编写了一个替代方案。在 JavaScript 中它工作正常,但在 jQuery 中,当我第一次不输入任何输入时,它会显示错误消息。我给它输入一些值,然后它会清除错误消息。现在,如果我将输入留空,则不会显示错误消息。这是我的 jQuery 代码:
function check_u(){
var fieldValue = $("input[name=user]").val();
if(fieldValue==""||fieldValue==null){
$("#errorname").html('<div id = "error_left"></div>'+
'<div id = "error_right"><p>This is a required field</p></div>');
}else{
$("#errorname").hide();
}
}
为什么,如果重复调用,我的 errorname div 不显示?
.hide() 不仅仅是清除 div 吗?