<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
ฉันต้องการเปลี่ยนชั้นเรียนจาก "form-submit" เป็น "form-submitone"
ฉันจะทำมันได้อย่างไร คลาส "form-submit" มาจากไหน
<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
ฉันต้องการเปลี่ยนชั้นเรียนจาก "form-submit" เป็น "form-submitone"
ฉันจะทำมันได้อย่างไร คลาส "form-submit" มาจากไหน
คำตอบ:
ถ้าฉันเป็นคุณฉันจะไม่เปลี่ยนชื่อคลาส แต่เพิ่มคลาสของคุณเองในองค์ประกอบของฟอร์ม คุณสามารถทำได้โดยใช้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'))