<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Saya ingin mengubah kelas dari "form-submit" ke "form-submone".
Bagaimana saya bisa melakukannya? Dari mana datangnya "form-submit" kelas?
<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Saya ingin mengubah kelas dari "form-submit" ke "form-submone".
Bagaimana saya bisa melakukannya? Dari mana datangnya "form-submit" kelas?
Jawaban:
Jika saya jadi Anda, saya tidak akan mengubah nama kelas melainkan menambahkan kelas Anda sendiri ke elemen formulir. Anda dapat melakukan ini dengan menerapkan hook_form_alter dalam modul khusus atau (dalam kasus Drupal 7) dalam tema Anda. Kode akan terlihat seperti ini:
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id = 'my_form') {
$form['actions']['submit']['#attributes']['class'][] = 'form-submitone';
}
}
?>
Omong-omong, elemen tombol kirim belum tentu $form['actions']['submit']
. Anda harus mencari tahu elemen mana yang merupakan tombol kirim dalam situasi spesifik Anda. Anda dapat melakukannya dengan mengeluarkan variabel $ form; Saya merekomendasikan menginstal modul Devel dan menambahkan dsm($form);
ke fungsi di atas.
$form['actions']['submit']['#attributes']['class'] = array('form-submitone');
, Anda akan mengganti semua kelas yang sudah ditetapkan. Jika Anda mau $form['actions']['submit']['#attributes'] = array('class' => array('form-submitone'));
, Anda akan menimpa tidak hanya kelas yang ada, tetapi semua atribut. (PS Lihat juga tambahan saya pada jawaban di atas.)
kode ini pada dasarnya pengguna dapat menambahkan kelas kustom Anda pada tombol kirim formulir.
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'))