Как настроить форму Contact Form 7, чтобы в сообщении отправилось значение "Да", если чекбокс был выбран, и "Нет", если чекбокс не был выбран?

Как можно изменить код, чтобы при выборе чекбокса на почту приходила информация "Да", а в случае не выбора - ничего не приходило?
  • 10 марта 2024 г. 11:59
Ответы на вопрос 2
Для реализации этой функциональности в Contact Form 7 можно использовать дополнительный скрипт на JavaScript. Ниже приведен пример кода JavaScript, который можно добавить в файл functions.php вашей темы WordPress:

```javascript
document.addEventListener( 'wpcf7mailsent', function( event ) {
    var checkboxValue = document.querySelector( 'input[type="checkbox"]:checked' ).value;
    var message = ( checkboxValue == 'on' ) ? 'Да' : 'Нет';
    
    document.querySelector( 'textarea[name="your-message"]' ).value = message;
}, false );
```

Этот скрипт будет автоматически менять значение сообщения в форме Contact Form 7 в зависимости от выбора чекбокса.

Если вы хотите, чтобы на почту приходила информация "Да" только при выборе чекбокса и ничего не приходило в случае не выбора, то можно использовать следующий скрипт:

```javascript
document.addEventListener( 'wpcf7mailsent', function( event ) {
    var checkboxValue = document.querySelector( 'input[type="checkbox"]:checked' ).value;
    
    if( checkboxValue == 'on' ) {
        document.querySelector( 'textarea[name="your-message"]' ).value = 'Да';
    } else {
        document.querySelector( 'textarea[name="your-message"]' ).value = '';
    }
}, false );
```

Данный скрипт отправит на почту только значение "Да" при выборе чекбокса, а в остальных случаях сообщение будет пустым. 

Не забудьте сохранить изменения и перезагрузить страницу с формой, чтобы увидеть изменения.
Как вариант, можете попробовать радиокнопками реализовать. При открытии формы по умолчанию стоит Нет. Этот вариант можете попробовать скрыть стилями. Он и отправится если клиент ничего не выберет. А в случае выбора "Да" отправите "Да".
Похожие вопросы