drupal 7 предотвращает перенаправление в модальном окне (ctools) при отправке

Я поместил форму (созданную с помощью entityform) в модал (ctools modal), используя jquery.

Теперь происходит то, что, когда я нажимаю кнопку "отправить", меня перенаправляют на другую страницу, где я отображаю сообщение "успех".

Я хотел бы избежать перенаправления и отображать сообщение "успех" в модале (на той же странице, где появляется модал).

Заранее спасибо.

Это jquery, который я использовал для запуска модального по клику:

    (function ($) {
        Drupal.behaviors.tuo = {

    attach: function (context, settings) {
        $('#comments_button', context).click(function () {

        $('#suggerimenti').dialog('open');

        $('.ui-dialog-titlebar').append($('h2', '#block-views-invio-suggerimenti-block'));

        $('.ui-dialog-content').append($('form', '#block-views-invio-suggerimenti-block'));

    });

        $('#suggerimenti').dialog({
                autoOpen:false,
                minWidth:500,       
    });
}

}; }) (Jquery);

И это HTML-код формы, созданной Drupal:

<form id="prova-invio-entityform-edit-form" class="entityform entitytype-prova_invio-form" accept-charset="UTF-8" method="post" action="/tuo_tema_dev2/?q=content/blandit-ratis-usitas-valde">

    <div>

        <div class="pre-intructions"></div>

        <div id="edit-field-suggerimento-new" class="field-type-text-long field-name-field-suggerimento-new field-widget-text-textarea form-wrapper">

        <div id="edit-field-refer" class="field-type-entityreference field-name-field-refer field-widget-entityreference-autocomplete form-wrapper">

        <div id="edit-actions--3" class="form-actions form-wrapper">

            <input id="edit-submit--4" class="form-submit ajax-processed" type="submit" value="invia suggerimento" name="op">

        </div>

    </div>

</form>

1 ответ

Решение

Вы можете добавить скрытое значение формы к вашей форме при использовании модального представления (проверьте, установлен ли ваш ajax в URL). Затем в вашей функции отправки удалите ваше перенаправление, когда присутствует значение формы. Предполагая, что это установлено с помощью $form_state используя эту строку:

unset($form_state['redirect']);

Мы можем оказать вам дополнительную помощь, если вы приложите код своей формы. Мне кажется, это более актуально для этой проблемы, чем ваш JavaScript.

Другие вопросы по тегам