Модуль Webform Ajax работает в Drupal 7 как–то через Ж в отличие от этого же модуля но для Drupal 6.
В сети существует ряд решений, но в качестве рабочего рекомендую dropbucket.org/node/1477.

Код:

<?php

function webform_ajax_submit_form_alter(&$form, &$form_state, $form_id) {
    // do ajax submit generic for all the webform those have no redirect option enabled
    if($form['#node']->webform['redirect_url'] == "<none>") {
        $matches = array();
        // check whether the form id have nid at the end like _nid
        preg_match('/[\d]+$/', $form_id, $matches);
        $nid_match = $matches[0];
        if(strpos($form_id, 'webform_client_form_') == 0 && !empty($nid_match)) {
            $form['actions']['submit'] = array(
                '#type' => 'submit',
                '#ajax' => array(
                    'callback' => 'webform_client_form_ajax_callback',
                    'wrapper' => str_replace('_','-',$form['#form_id']),
                    'effect' => 'fade',
                ),
                '#value' => t('Отправить'),
            );
        }
    }
}

// Messages
function webform_client_form_ajax_callback($form, &$form_state) {
    if(form_get_errors()) {
        return $form;
    } else {
        return $form['#node']->webform['confirmation'];
    }
}

Остается собрать данное решение в модуль, подключить его и наслаждаться результатом. Архив с модулем прилагается.

Файлы


Выразить благодарность

Если эта публикация оказалась для Вас полезной и вы хотите выразить свою благодарность, сделайте пожалуйста её репост в социальных сетях или на своём сайте.

Так же, Вы можете перевести любую сумму, которую посчитаете нужной на наш счёт, что сильно мотивирует к написанию новых полезных статей.

Комментарии: