У меня есть html-форма запроса по электронной почте, которая проверяет поля формы с помощью javascript и отображает сообщения об ошибках, но она все еще продолжается и фактически отправляет и отправляет форму запроса по электронной почте в любом случае, используя php-скрипт. Я пытаюсь перехватить ошибку (я) перед выполнением фактического php-скрипта, который отправляет электронное письмо. В основном, правильные сообщения об ошибках отображаются для каждого поля формы, когда я нажимаю кнопку отправить сообщение, но вместо того, чтобы позволить мне ввести правильную информацию, он продолжает и выполняет скрипт php send и все равно отправляет электронное письмо. Если какие-либо поля являются неправильными, мне нужно, чтобы они оставались на экране ввода, пока поля не будут введены правильно.
Вот код подтверждения функции: -
<script>
function validate(){
var name=document.f1.name.value;
var subject=document.f1.subject.value;
var arrivaldate=document.f1.arrivaldate.value;
var departuredate=document.f1.departuredate.value;
var email=document.f1.email.value;
var stay=document.f1.stay.value;
var message=document.f1.message.value;
var status=false;
if(name.length<4){
document.getElementById("nameloc").innerHTML= "Please enter at least 4 chars";
document.getElementById("nameloc").style.color= "red";
status=false;
}else{
document.getElementById("nameloc").innerHTML="";
status=true;
}
if(subject.length<8){
document.getElementById("subjloc").innerHTML= "Please enter at least 8 chars of subject";
document.getElementById("subjloc").style.color= "red";
status=false;
}else{
document.getElementById("subjloc").innerHTML="";
status=true;
}
if(arrivaldate==""){
document.getElementById("arrivaldateloc").innerHTML= "Please select Arrival date ";
document.getElementById("arrivaldateloc").style.color= "red";
status=false;
}else{
document.getElementById("arrivaldateloc").innerHTML="";
status=true;
}
if(departuredate==""){
document.getElementById("departuredateloc").innerHTML= "Please select Departure date ";
document.getElementById("departuredateloc").style.color= "red";
status=false;
}else{
document.getElementById("departuredateloc").innerHTML="";
status=true;
}
if(email==""){
document.getElementById("emailloc").innerHTML= "Please enter a valid email";
document.getElementById("emailloc").style.color= "red";
status=false;
}else{
document.getElementById("emailloc").innerHTML="";
status=true;
}
if(stay==""){
document.getElementById("stayloc").innerHTML= "Please enter a Stay field max length 30 chars";
document.getElementById("stayloc").style.color= "red";
status=false;
}else{
document.getElementById("stayloc").innerHTML="";
status=true;
}
if(message==""){
document.getElementById("messageloc").innerHTML= "Please enter a message field";
document.getElementById("messageloc").style.color= "red";
status=false;
}else{
document.getElementById("messageloc").innerHTML="";
status=true;
}
return status;
}
</script>
Вот код формы: -
<form id="contact-form" action="http://www.cambodia.me.uk/krdc03/contact_mail.php" method="post" name="f1" onsubmit="return validate()">
<div class="col-md-6">
<div class="form-group">
<label>
Name</label>
<input type="text" name="name" class="form-control" placeholder="Your Name"/>
<span id="nameloc"></span>
</div>
<div class="form-group">
<label for="subject">
Our Reference</label>
<input type="text" class="form-control" name="subject" placeholder="Web Enquiry Form" value="Web Enquiry Form" readonly/>
<span id="subjloc"></span>
</div>
<div class="form-group">
<label for="Adate">
Arrival Date</label>
<input type="text" class="startdate form-control" size="30" name="arrivaldate" placeholder="dd/mm/yyyy" />
<span id="arrivaldateloc"></span>
</div>
<div class="form-group">
<label for="Ddate">
Departure Date</label>
<input type="text" class="startdate form-control" name="departuredate" size="30" placeholder="dd/mm/yyyy" />
<span id="departuredateloc"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="email">
Email Address</label>
<div class="form-group">
<input type="email" class="form-control" name="email" placeholder="Your Email"/>
<span id="emailloc"></span>
</div>
</div>
<div class="form-group">
<label for="stay">
How did you hear about us</label>
<input type="text" class="form-control" name="stay" maxlength="30" placeholder="ie Google, Tripadvisor etc"/>
<span id="stayloc"></span>
</div>
<div class="form-group">
<label for="message">
Message</label>
<textarea class="form-control" name="message" rows="4" placeholder="">
</textarea>
<span id="messageloc"></span>
</div>
</div>
<div class="col-md-12">
<button type="submit" name="submit" class="btn btn-skin pull-right">
Send Message</button>
</div>
</form>
Большое спасибо