2014-11-06 4 views
0

모달 대화 상자의 웹 폼을 제출할 때 AJAX를 사용해야합니다. 테마는 부트 스트랩을 기반으로하고 모달 내부의 메시지를 가까운 모달없이 표시합니다.Ajax를 사용하여 Drupal 7 Webforms를 제출하는 방법?

해결책을 찾았지만 부트 스트랩 모달의 웹 폼 제출시 모달 창이 닫히고 표준 메시지 위치에 오류 성공에 대한 모든 메시지가 표시됩니다.

<?php 
// http://envisioninteractive.com/drupal/add-ajax-to-a-webform-in-drupal-7/ 
function webform_ajax_submit_form_alter(&$form, &$form_state, $form_id) { 
    if(strstr($form_id, 'webform_client_form_')) { 
     $nid = $form['#node']->nid; 
     // add the ajax properties to the submit button 
     $form['actions']['submit']['#ajax'] = array(
      'callback' => 'webform_ajax_submit_webform_js_submit', 
      'wrapper' => 'webform-client-form-' . $nid, 
      'method' => 'replace', 
      'effect' => 'fade', 
     ); 
    } 
} 

function webform_ajax_submit_webform_js_submit($form, $form_state) { 
    $sid = $form_state['values']['details']['sid']; 
    if ($sid) { 
     $node = node_load($form_state['values']['details']['nid']); 
     $confirmation = array(
      '#type' => 'markup', 
      '#markup' => check_markup($node->webform['confirmation'], $node->webform['confirmation_format'], '', TRUE), 
     ); 
     return $confirmation; 
    } 
    else { 
     return $form; 
    } 
} 

내가 정확히 내 작업에 대한 $form['actions']['submit']['#ajax'] = array(...) Webform Ajax 어딘가에 문제를 생각 : 여기

모듈 코드입니다.

답변

관련 문제