Контактная форма 7 Обязательный флажок Группа Проверка вопроса - PullRequest
0 голосов
/ 02 июня 2018

Я использую контактную форму 7 в Wordpress.У меня есть группа флажков, из которых я хотел бы убедиться, что хотя бы один из них отмечен перед отправкой формы.Должно быть достаточно просто ... Со встроенной проверкой, потому что я не использую краткий код CF7, а разрабатываю html-разметку, даже если поля установлены на обязательные поля, форма отправляется.Я не могу использовать короткий код, потому что мои имена полей ввода содержат [] скобки.Итак, я установил плагин проверки Jquery для CF7, который отлично работает, чтобы запретить отправку формы, если ни один из флажков не установлен, но если вы отметите, скажем, первые 3 поля, только значения второго и третьего блоков будутотправлено через форму.Я осмотрел несколько пользовательских фрагментов кода проверки, которые выглядят так, как будто они будут работать, и я вставил их в ту же область, что и другие подобные фрагменты, которые делают другие вещи, и они не имеют значения, потому что встроенная проверка CF7 непрекратить отправку формы, когда обязательные поля моих полей ввода html не отмечены.Какие-либо предложения?Я не программист (делаю все возможное), поэтому, пожалуйста, не стесняйтесь отвечать, как я ребенок LOL.Вот мой HTML:

<p>
<label>Which Are You Most Interested In?</label>
</br>
<label for="cb1">
    <input id="cb1" name="mc4wp-INTERESTS[de9f89w3vq][]" 
type="checkbox" value="bf2fd8233f" required> <span>Interest 1</span>
</label>
</br>
<label for="cb2">
    <input id="cb2" name="mc4wp-INTERESTS[de9f89w3vq][]" 
type="checkbox" value="c1b1b74e7c" required> <span>Interest 2</span>
</label>
</br>
<label for="cb3">
    <input id="cb3" name="mc4wp-INTERESTS[de9f89w3vq][]" 
type="checkbox" value="a4c5eb6f36" required> <span>Interest 3</span>
</label>
</br>
<label for="cb4">
    <input id="cb4" name="mc4wp-INTERESTS[de9f89w3vq][]" 
type="checkbox" value="587de639d6" required> <span>Interest 4</span>
</label>
</p>

-

Я решил, что лучший способ для этого - просто отключить кнопку отправки, пока в группе флажков не будет хотя бы одинЗначение проверил (и другой набор переключателей, у которого была одна проверена) и нашел этот код:

(function($) {

function buttonState(){
    $("input").each(function(){
        $('#send-info').attr('disabled', 'disabled');
        if($(this).val() == "" ) return false;
        $('#send-info').attr('disabled', '');
   }) 
}

$(function(){
$('#send-info').attr('disabled', 'disabled');
$('input').change(buttonState);
})
})(jQuery);

... Что очень хорошо работает, чтобы отключить кнопку отправки, однако, похоже, так как у меня есть скрытые поляэто не повторно включить кнопку отправки.Также не уверен, заботится ли он только о необходимых полях.Хотите знать, как изменить его так, чтобы он заботился только о необходимых полях и игнорировал скрытые поля.Я попробовал несколько других фрагментов, и по какой-то причине они не отключали кнопку отправки.У меня установлен скрипт внизу страницы через плагин Wordpress скриптов и стилей.

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