<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Я хочу изменить класс с "form-submit" на "form-submitone".
Как я могу это сделать? Откуда взялся класс «форма-отправка»?
<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Я хочу изменить класс с "form-submit" на "form-submitone".
Как я могу это сделать? Откуда взялся класс «форма-отправка»?
Ответы:
На вашем месте я бы не изменил имя класса, а добавил бы свой собственный класс к элементу формы. Вы можете сделать это, реализовав hook_form_alter в пользовательском модуле или (в случае Drupal 7) в своей теме. Код будет выглядеть примерно так:
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id = 'my_form') {
$form['actions']['submit']['#attributes']['class'][] = 'form-submitone';
}
}
?>
Кстати, элемент кнопки отправки не обязательно $form['actions']['submit']
. Вам нужно будет выяснить, какой элемент является кнопкой отправки в вашей конкретной ситуации. Вы можете сделать это путем вывода переменной $ form; Я рекомендую установить модуль Devel и добавить dsm($form);
к функции выше.
$form['actions']['submit']['#attributes']['class'] = array('form-submitone');
, вы переопределите все классы, которые уже установлены. Если бы вы это сделали $form['actions']['submit']['#attributes'] = array('class' => array('form-submitone'));
, вы бы перезаписали не только существующие классы, но и все атрибуты. (PS См. Также мое дополнение к ответу выше.)
этот код в основном пользователь для добавления своего пользовательского класса на кнопку отправки формы.
function subscriber_form(){
$form['submit'] = array(
'#type' => 'submit',
'#attributes'=>array('class'=> array('mybtn')),
'#ajax' => array(
'callback' => 'subscriber_ajax_callback',
),
'#value' =>'Submit', // @FIXME doesn't render quotes properly
);
}
'class' => array("mybtn-class", "mybtn-class2")
'#attributes' => array('class' => array('mybtn', 'mybtn-2'))