2015-03-23 2 views
2

Использование Gravity Forms 1.8.1, никаких других плагинов не активировано. Протестировано также с последней версией 1.9.2 Протестировано с использованием темы Divi, а также темы 2015 года с такими же результатами. Тестирование в Chrome и Firefox с одинаковыми результатами.Гравитационные формы Ajax не работают

Добавлен следующий шорткод:

[gravityform id="1" name="test-form-1" ajax="true"] 

Форма представляет, но всегда с не Аякса и обновляет страницу. Я могу сказать это, посмотрев вкладку и просмотрев вкладки «Net» в инструментах разработчика Chrome и Firebug в Firefox. Запросы XHR пусты, и запросы очищаются и публикуются нормально, как если бы это был запрос без аякса.

Это должно сработать. Я не вижу ошибок или конфликтов при просмотре вкладки консоли Firebug. Я не обнаружил, что никто не сталкивается с подобными проблемами, хотя и не совсем уверен, сколько пользователей гравитации обращают внимание на поведение в firebug.

Уверен, что мне не хватает чего-то очевидного. Дайте мне знать, что это такое!


Соответствующий код формы генерируется Гравитация Формы

<div id="gform_wrapper_1" class="gf_browser_gecko gform_wrapper"> 
    <a class="gform_anchor" name="gf_1" id="gf_1"></a> 
    <form action="/sandbox/#gf_1" id="gform_1" target="gform_ajax_frame_1" enctype="multipart/form-data" method="post"> 
     <div class="gform_heading"> 
     <h3 class="gform_title">test-form-1</h3> 
     <span class="gform_description"></span> 
     </div> 
     <div class="gform_body"> 
     <ul class="gform_fields top_label description_below" id="gform_fields_1"> 
      <li class="gfield    gfield_contains_required" id="field_1_1"> 
       <label for="input_1_1" class="gfield_label">Name<span class="gfield_required">*</span></label> 
       <div class="ginput_container"><input type="text" tabindex="1" class="medium" value="Joe Smith" id="input_1_1" name="input_1"></div> 
      </li> 
     </ul> 
     </div> 
     <div class="gform_footer top_label"> <input type="submit" onclick="if(window[&quot;gf_submitting_1&quot;]){return false;} if(!jQuery(&quot;#gform_1&quot;)[0].checkValidity || jQuery(&quot;#gform_1&quot;)[0].checkValidity()){window[&quot;gf_submitting_1&quot;]=true;} " tabindex="2" value="Submit" class="button gform_button" id="gform_submit_button_1"><input type="hidden" value="form_id=1&amp;title=1&amp;description=1&amp;tabindex=1" name="gform_ajax"> 
     <input type="hidden" value="1" name="is_submit_1" class="gform_hidden"> 
     <input type="hidden" value="1" name="gform_submit" class="gform_hidden"> 
     <input type="hidden" value="" name="gform_unique_id" class="gform_hidden"> 
     <input type="hidden" value="WyJhOjA6e30iLCJkZjhiZTNiZTg3NDNmMWNlNDNmNTk1N2M0NTY2ZTRiMSJd" name="state_1" class="gform_hidden"> 
     <input type="hidden" value="0" id="gform_target_page_number_1" name="gform_target_page_number_1" class="gform_hidden"> 
     <input type="hidden" value="1" id="gform_source_page_number_1" name="gform_source_page_number_1" class="gform_hidden"> 
     <input type="hidden" value="" name="gform_field_values"> 
     </div> 
    </form> 
</div> 
+0

Приняты ли принятые решения для вас? У меня Jquery в очереди, но форма просто перезагружается нормально. NO data отправляется через ajax. Единственное, что меняется при добавлении ajax = true, это то, что spinner показывает, что это так. – ericsicons

ответ

3

Убедитесь JQuery является помещён в голове - не футер.

Я использую структуру Roots/Sage, в которой он помечен в нижнем колонтитуле по умолчанию, что вызывало вашу точную проблему.

+0

Увидев ответ ниже, я пойду за этим в будущем. –

6

Вы по-прежнему должны сохранять свои сценарии в нижнем колонтитуле по соображениям производительности. Но вы должны включить это в header.php прямо над вашей <?php wp_head(); ?>:

<?php gravity_form_enqueue_scripts(1,true) ?> 

с 1, идентификатор формы.

5

В дополнение к ответам Nate Beers, если у вас есть РЕКАПТАЯ на вашей форме, AJAX не будет работать. reCAPTCHA несовместим с AJAX.

См. Вопрос на форуме о гравитационных формах. https://www.gravityhelp.com/forums/topic/ajax-submission-not-working-on-hard-coded-form#post-36914

Я пошел дальше и использовал приманку для защиты от спама Gravity Forms как альтернативу reCAPTCHA на странице настроек формы.

Смежные вопросы