@Alexandra095

Вопрос по форме обратной связи, что нужно написать, что бы при нажатии на галочку поле где указан телефон разрешало валидацию и пропускало?

Есть форма, на ней есть поле телефон, а так же галочка под этим полем, мол для того что бы не указывать телефон, но если нажать галочку, то телефон все равно нужно ввести иначе форма не заработает. Или как убрать валидацию с поля Телефон, что бы его наличие не проверялось, тогда галочка была бы просто плацебо.

<form class="contact_form" action="contact-form.php" method="post">
	<p>
            <input style="width: 400px; height: 30px; margin-top: 20px;" type="text"  name="name" placeholder="Имя" required />
        </p>
        <p>
            <input style="width: 400px; height: 30px; margin-top: 20px;" type="email" name="email" placeholder="E-mail" required />
        </p>
        <p>
            <input style="width: 400px; height: 30px; margin-top: 20px;" type="tel" name="tel" placeholder="Телефон" required />
        </p>
        <p>
           <input style="margin-top: 10px;" type="checkbox" name="a" value="1417"> не указывая телефон, я осознанно<br> рискую пропустить письмо с ответом «Фокуса»
        </p>
        <p>
            <textarea style="width: 400px; height: 50px; margin-top: 20px;" name="message" cols="40" rows="6" required ></textarea>
        </p>
	    <input name="bezspama" type="text" style="display:none" value="" />
        <p>
            <button style="width: 400px; height: 60px; margin-top: 10px; background-color: #4B565F; color: #fff; font-size: 18px;" class="submit" type="submit">Получить ответ</button>
        </p>
</form>


<?php
 
/* Задаем переменные */
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
$tel = htmlspecialchars($_POST["tel"]);
$message = htmlspecialchars($_POST["message"]);
$bezspama = htmlspecialchars($_POST["bezspama"]);
 
/* Ваш адрес и тема сообщения */
$address = "alena@mail.ru";
$sub = "Сообщение с сайта Алены";
 
/* Формат письма */
$mes = "Сообщение с сайта Алены.\n
Имя отправителя: $name 
Электронный адрес отправителя: $email
Телефон отправителя: $tel
Сайт отправителя: $website
Текст сообщения:
$message";
 
 
if (empty($bezspama)) /* Оценка поля bezspama - должно быть пустым*/
{
/* Отправляем сообщение, используя mail() функцию */
$from  = "From: $name <$email> \r\n Reply-To: $email \r\n";
if (mail($address, $sub, $mes, $from)) {
  header('Refresh: 5; URL=http://');
  echo '<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
    <body>Письмо отправлено, через 5 секунд вы вернетесь на страницу XXX</body>';}
else {
  header('Refresh: 5; URL=');
  echo '<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
    <body>Письмо не отправлено, через 5 секунд вы вернетесь на страницу YYY</body>';}
}
exit; /* Выход без сообщения, если поле bezspama заполнено спам ботами */
?>
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Добавь этот скрипт и не забудь подключить JQuery.
$(function() {
  $(".contact_form input[type=checkbox]").bind("change", function(e) {
    if ($(this).is(':checked'))
      $(this).parent().parent().find("input[type=tel]").removeAttr("required");
    else
      $(this).parent().parent().find("input[type=tel]").attr("required", true);
  })
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы