Показать сообщение отдельно
  #1 (permalink)  
Старый 11.02.2015, 15:46
Интересующийся
Отправить личное сообщение для beagle Посмотреть профиль Найти все сообщения от beagle
 
Регистрация: 11.02.2015
Сообщений: 18

Проверка формы
Доброго времени суток!

Помогите разобраться!
Ниже представлен код формы + скрипт
Форма проверяется с помощью javascript, если все ок, данные заносятся в базу с помощью db.php. На деле, сразу срабатывает db.php
Что необходимо, чтобы сначала поля проверялись а после записывались в базу?



<form name="insert" action="db.php" id="form" method="post">
   
   
   <input name="company" id="company" type="text" onclick="setBorder('company')" value="Название компании" onfocus="if (this.value=='Название компании') this.value='' "onblur="if (this.value==''){this.value='Название компании'}" ><div id="company_err"></div><br />
   
   
   <input name="name" id="name" type="text" onclick="setBorder('name')" value="ФИО" onfocus="if (this.value=='ФИО') this.value='' "onblur="if (this.value==''){this.value='ФИО'}" ><div id="name_err"></div><br />
   
    <input name="mail" id="mail" type="text" onclick="setBorder('mail')" value="Электронная почта" onfocus="if (this.value=='Электронная почта') this.value='' "onblur="if (this.value==''){this.value='Электронная почта'}" ><div id="mail_err"></div><br />
    
  <input name="phone"  id="phone" type="text" onclick="setBorder('phone')"  value="Номер телефона" onfocus="if (this.value=='Номер телефона') this.value='' "onblur="if (this.value==''){this.value='Номер телефона'}" ><div id="phone_err"></div><br />
  
   

<input class="regbtn" onclick="checkForm()" type="submit" value="Участовать" name="button"></div>


function checkForm() {

var err = 0;

if (document.getElementById("company").value == 'Название компании') {

document.getElementById("company").style.border = "1px solid #FF0000";
document.getElementById("company_err").innerHTML = "поле не заполнено";
err = 1;

}

if (document.getElementById("name").value == 'ФИО') {

document.getElementById("name").style.border = "1px solid #FF0000";
document.getElementById("name_err").innerHTML = "поле не заполнено";
err = 1;

}

var email = document.getElementById('mail').value;
emailTest = "^[_.0-9a-z-]+@([0-9a-z][0-9a-z_-]+.)+[a-z]{2,4}$";
var regex = new RegExp(emailTest); 

if (!regex.test(email)) {

document.getElementById("mail").style.border = "1px solid #FF0000";
document.getElementById("mail_err").innerHTML = "не корректный e-mail";
err = 1;

}


if (document.getElementById("phone").value == 'Номер телефона') {

document.getElementById("phone").style.border = "1px solid #FF0000";
document.getElementById("phone_err").innerHTML = "укажите ваш номер телефона";
err = 1;

}

if (err == 0) document.getElementById("form").submit();

}

function setBorder(id) {

document.getElementById(id).style.border = "1px solid #C0C0C0";
document.getElementById(id+"_err").innerHTML = "";

}

Последний раз редактировалось beagle, 11.02.2015 в 15:53.
Ответить с цитированием