Intereting Posts
Можно ли изменить базу данных, чтобы изменить логин? Будущий идентификатор сообщения не отображается переименовывать вложения на основе parent-post-title при загрузке Страница освежающего события js onclick Невозможно отменить регистрацию скрипта с помощью wp_deregister_script Правила пользовательской таксономии и типа переписки добавление типов страниц в меню Добавить текст в конец каждого элемента списка в wp_list_categories запрос одного случайного сообщения работает localhost, а не на сайте Что означает «Невозможно изменить информацию заголовка?» Типы сообщений цикла с именем и ссылками Должен ли я использовать относительные или абсолютные URL-адреса при указании на внутренние страницы Имя видеоролика VideoPress и URL-адрес Как изменить положение значков обмена Jetpack? Обрезаемая фатальная ошибка: объект класса WP_Term не может быть преобразован в строку

Контактная форма 7 проблема с jquery – скрытие / отображение полей

Я следил за инструкциями относительно того, как скрыть / показать поля Contact Form 7 с помощью jQuery.

Я использовал это раньше, и это сработало чудеса. Однако на новом сайте по какой-то причине он не работает. Эта страница находится здесь .

Поля скрываются, но не показывают, когда щелкнули поле, предназначенное для показа! Может ли кто-нибудь помочь мне решить эту проблему? Вот код:

Код HTML:

<p>You are an employee or official representative of a charity or community group (ie you are not a third party raising funds on their behalf (required):<br /> [select* criteria-question-1 label_first include_blank "Yes" "No"] </p> <p>The fundraising will benefit people in the Southampton and/or Hampshire area (required):<br /> [select* criteria-question-2 label_first id:form include_blank "Yes" "No] </p> <div class="hide" id="hide1"> <p>Name of organisation (required):<br /> [text* org-name placeholder "Enter organisation name here"] </p> </div> 

JQuery

 $( document ).ready( function() { //Hide the field initially $( "#hide1" ).hide(); //Show the text field only when the third option is chosen - this doesn't $( '#form' ).change( function() { if( $( "#form" ).val() == "Yes" ) { $("#hide1").show(); } else { $( "#hide1" ).hide(); } } ); } ); 

Solutions Collecting From Web of "Контактная форма 7 проблема с jquery – скрытие / отображение полей"

Проблема очень хорошо может быть noConflict . По умолчанию всякий раз, когда WordPress запускает jquery, он запускается в режиме noConflict что означает, что он не предоставляет псевдоним для jQuery где значение по умолчанию равно $ как у вас в вашем вопросе.

Смотрите этот комментарий к ресурсу Dev :

Когда вы вставляете скрипт, зависящий от jQuery, обратите внимание, что jQuery в WordPress работает в режиме noConflict, что означает, что вы не можете использовать общий псевдоним $. Вместо этого вы должны использовать полный jQuery. В качестве альтернативы поместите свой код, используя $ shortcut внутри оболочки noConflict.
– bcworkz

Это означает, что вам нужно заменить свой $( document ).ready() на:

 jQuery( document ).ready( function( $ ) { 

Кроме того, согласно вашему комментарию, это выглядит так (путем просмотра источника страницы), который вы добавляете в свой скрипт до того, как будет определен JQuery. Если вы используете обычный wp_enqueu_script() (который вы должны использовать / учиться для использования), вам нужно определить jquery в массив $deps :

 wp_enqueue_script( 'my-irrelevant-handle', // Script handle to identify your script get_stylesheet_directory_uri() . /my-script-path.js, // Path to your script relative to style.css array( 'jquery' ), // Tells WordPress to add this script after JQuery has been added '', // Optional version number true // Load this into the footer for speed purposes ); 

Это похоже на хороший учебник по enqueuing .