Изменить входное значение с помощью Javascript
Название кажется простым, но мне нужна помощь.
У меня есть форма с полем ввода «электронная почта», значение которого равно нулю, пока пользователь не заполнит ее. Хорошо, при нажатии кнопки отправки я вызываю функцию 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();
}
}
Я хочу сделать следующее: если введенное электронное письмо не соответствует требованиям (недействительно), измените значение ввода с помощью «Вставить правильное электронное письмо».
Если поле пустое и я нажимаю кнопку «Отправить», оно работает отлично, но если я вставлю текст и нажму «Отправить», единственным изменением будет поле, получающее красную рамку размером 2 пикселя, но без изменения текста.
Я хотел бы знать, что мне нужно сделать, чтобы при нажатии на кнопку отправить неправильное письмо, которое было написано, было удалено и заменено текстом «Вставить правильное письмо».
Ввод:
<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;"/>
Спасибо.