<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Я хочу змінити клас з "форма-подати" на "форма-подати".
Як я можу це зробити? Звідки береться клас "форму-подати"?
<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Я хочу змінити клас з "форма-подати" на "форма-подати".
Як я можу це зробити? Звідки береться клас "форму-подати"?
Відповіді:
Якби я був ти, я б не змінював назву класу, а додав би свій власний клас до елемента форми. Ви можете зробити це, застосувавши крок_форму_алтер у спеціальному модулі або (у випадку з 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 Дивіться також моє доповнення до відповіді вище.)
цей код в основному користувач dor додати свій власний клас на кнопку подання форми.
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'))