Добрый вечер. Вот почти сделал модальное окно с формой . но возникла проблема. При переходе на "следующую" страницу, форма сворачивается , а алерты полявляются уже на странице. Ну проще говоря обработчика не хватает.
Все чьл у мегя есть это ключ поля : trebuemye_dokumenty
И код модуля где я прикручивал обработчик на кнопку "отправить/оформить"
<?php
function pixelbroks_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('Оформить'),
);
}
}
}
function
webform_client_form_ajax_callback($form, &$form_state) {
if(form_get_errors()){
return $form;
}
else{
return $form['#node']->webform['confirmation'];
}
}
?>
Пробовал модули webform ajax , webform pager, webform ajax page.
webform ajax page очень блиок, но он сырой до безобразия. Когда на второй странице не проходишь валидацию, то форма вообще сбрасывается и тереряет всю многошаговость (я это на js делал) и это не качественно вообще.
Заранее спасибо большое
Комментарии
Ознакомся с материалом по ссылкам:
<?php
$form['actions']['submit'] = array(
'#type' => 'submit',
'#ajax' => array(
'callback' => 'webform_client_form_ajax_callback',
'wrapper' => str_replace('_','-',$form['#form_id']),
'effect' => 'fade',
),
'#submit' => array('pixelbroks_form_submitalter'),
'#value' => t('Оформить'),
);
function
pixelbroks_form_submitalter($form, &$form_state) {$form_state['rebuild'] = TRUE;
}
?>