Делаю поле для заказа звонка. После ввода номера телефона пользователем, он должен отправляться на мыло админа. Блок с формой вывожу при помощи Views. Все просто, но возникла проблема.
После ввода номера телефона и нажатия кнопки submit меня перекидывает на страницу материала webform.
Причем это както связано с моей темой оформления, потому что, если переключить тему на любую из стандартных, то все срабатывает без проблем.
Подскажите, в чем может быть проблема?
Комментарии
Сами ответили на свой вопрос:
К сожалению, медиумов нет, а доступ к Вашим кодам не имеем.
Могу предположить, что в Вашей теме есть пересечение названий стилей с теми вещами, которые использует webform для целей явно не стилестических... Возможно, что это даже и не стили, а функции, которые Вы используете для вывода красявок в дизайне, и они используют куски от webform.
выведите без вьюшки
Ошибся. В этот раз выводил как раз блоком Webform.
Спасибо. Вы были правы.
Чтото не так натемизировал в template.php:
<?php
function mytheme_form_alter(&$form, &$form_state, $form_id) {
if (
$form_id == 'search_block_form') {$deftext1 = t('введите слово для поиска');
$form['search_block_form']['#default_value'] = $deftext1;
$form['actions']['submit']['#value'] = t('');
$form['search_block_form']['#attributes']['onblur'] = "if (this.value == '') {this.value = '".$deftext1."';}";
$form['search_block_form']['#attributes']['onfocus'] = "if (this.value == '".$deftext1."') {this.value = '';}";
}
if ($form_id == 'webform_client_form_1') {
$deftext2 = t('введите номер и нажмите Enter');
$form['submitted']['callback']['#default_value'] = $deftext2;
$form['actions']['submit']['#value'] = t('');
$form['submitted']['callback']['#attributes']['onblur'] = "if (this.value == '') {this.value = '".$deftext2."';}";
$form['submitted']['callback']['#attributes']['onfocus'] = "if (this.value == '".$deftext2."') {this.value = '';}";
}
};
?>
Методом исключения, пришел к тому, что все дело в строке:
<?php
$form['actions']['submit']['#value'] = t('');
?>
Если ее закоментировать, то все будет работать. Но почему она может вызывать проблему? Ведь названия все правильные (прикрепил скрин).
И как тогда очистить value у кнопки?
зачем эта строчка нужна в template.php?
Такой способ темизации я нашел на данном форуме. В частности эта строка удаляет value у кнопки submit.
так это в настройках вебформ можно сделать
Для поля действительно можно, проглядел. Спасибо.
Для кнопки к сожалению нет.
webform -> Form settings -> advanced settings -> Submit button text
Уверен - это темные силы скрывали ее от меня. Спасибо.
А если кратко, то что не так со способом который использовал я?
Form API не самое мое сильное место))) так сразу и не скажу)