Изменить входное значение с помощью 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;"/>

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос