我正在使用2个输入字段,第一个是真实的,另一个将被隐藏,就在它后面,使用position:fixed;
,当用户提交表单时,会有一个表单验证,如果该原始字段为空,则不可见输入将显示为红色背景,并带有警告消息。这是有效的,通过使用.show()
之后display:none;
我在jquery中编写了另一个代码,这使得这个警报输入消失了,当用户点击它时,意味着他正在尝试访问原始输入以便他可以在其中写入,并且这是工作,通过使用.hide()
; 问题是,当我再次单击提交时,警报输入没有出现……再次,在 Firefox 中;但它在 IE 中运行良好。
这是 HTML 代码:
<div style=" padding-top:2px; overflow:hidden; float:left ">
<div style="float:left; ">
<label for="email">
E-mail
</label>
<br>
<div style="position:relative;">
<input class="inputtext" type="text" id="email" name="email" maxlength="32" style=" width:140px; height:15px;" tabindex=1/>
<input class="inputtext" type="text" id="emailnotification" name="emailnotification" maxlength="32" style=" width:140px; background-color: rgb(220, 20, 60); color: white; z-index:20; display:none; height:15px; font-weight: bold; position:absolute; left:0px;"/>
</div>
</div>
现在这是表单验证功能的一部分:
function validateForm()
{
var xe;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var xemail=document.forms["signinForm"]["email"].value;
if(xemail==null || xemail=="")
{$("#emailnotification").val("Email is Required");
$("#emailnotification").show();
xe=1;
}
else if (reg.test(xemail)==false)
{
$("#emailnotification").val("Email is not Valid");
$("#emailnotification").show();
xe=1;
}
现在这是隐藏它的jquery代码:
$("#emailnotification").click (
function() {
$("#emailnotification").hide();
$("#email").focus();
$("#emailnotification").blur();
});