标题看起来很简单,但我需要帮助。
我有一个带有字段输入“电子邮件”的表单,其值为空,直到用户填写为止。好的,点击提交按钮,我调用函数 validate() 是:
function validate(){
var email=document.getElementById("email");
if(!(/[\w-\.]{3,15}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/.test(email))) {
email.setAttribute('value','Insert a correct email');
email.style.border="2px solid red";
} else {
alert("Valid field"); // This is to test it works
email.style.border="2px solid #63ce40";
this.form.submit();
}
}
我在这里要做的是,如果插入的电子邮件不符合要求(无效),请使用“插入正确的电子邮件”更改输入的值。
如果该字段为空并且我单击提交,它可以正常工作,但如果我插入文本并单击提交,唯一的变化将是该字段获得 2px 红色边框,但没有文本更改。
我想知道我必须做什么,以便当我点击提交时写的错误电子邮件被删除并替换为文本“插入正确的电子邮件”。
输入是:
<li>
<input type="text" id="email" name="email"
value="" onfocus="this.value=''" size="40"/>
</li>
我正在使用的提交按钮:
<input id="bsubmit" type="button" value="Submit"
name="submit" onclick=";this.disabled=true;validate();
this.disabled=false;"/>
谢谢你。