Zmień wartość wejściową za pomocą Javascript

Tytuł wydaje się łatwy, ale potrzebuję pomocy.

Mam formularz z polem „email”, którego wartość jest null, dopóki użytkownik go nie wypełni. OK, po kliknięciu przycisku Prześlij wywołuję funkcję validate (), która jest:

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();
    }
    }

Chcę, aby w przypadku, gdy wstawiony e-mail nie spełnia wymagań (nie jest prawidłowy), zmień wartość danych wejściowych za pomocą opcji „Wstaw prawidłowy adres e-mail”.

Jeśli pole jest puste i klikam przycisk Prześlij, działa idealnie, ale jeśli wstawię tekst i kliknę przycisk Prześlij, jedyną zmianą będzie pole z czerwoną ramką 2px, ale bez zmiany tekstu.

Chciałbym wiedzieć, co mam zrobić, aby po kliknięciu wysłać źle napisany e-mail, który został usunięty i zastąpiony tekstem „Wstaw prawidłowy adres e-mail”.

Dane wejściowe to:

<li>
    <input type="text" id="email" name="email" 
    value="" onfocus="this.value=''" size="40"/>
</li>

A przycisk przesyłania używam:

<input id="bsubmit" type="button" value="Submit"
name="submit" onclick=";this.disabled=true;validate();
this.disabled=false;"/>

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion