it-swarm-vi.com

Làm thế nào để tôi thay đổi lớp nút trình?

 <input type="submit" class="form-submit" value="" name="op" id="edit-submit">

Tôi muốn thay đổi lớp từ "form-submit" thành "form-submitone".

Làm thế nào tôi có thể làm điều đó? Trường hợp "lớp nộp mẫu" đến từ đâu?

12
enjoylife

Nếu tôi là bạn, tôi sẽ không thay đổi tên lớp mà chỉ thêm lớp của riêng bạn vào thành phần biểu mẫu. Bạn có thể làm điều này bằng cách triển khai hook_form_alter trong một mô-đun tùy chỉnh hoặc (trong trường hợp Drupal 7) trong chủ đề của bạn. Mã sẽ trông giống như thế này:

<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id = 'my_form') {
    $form['actions']['submit']['#attributes']['class'][] = 'form-submitone';
  }
}
?>

Nhân tiện, phần tử nút gửi không nhất thiết là $form['actions']['submit']. Bạn sẽ phải tìm ra yếu tố nào là nút gửi trong tình huống cụ thể của bạn. Bạn có thể làm điều đó bằng cách xuất ra biến $ form; Tôi khuyên bạn nên cài đặt mô-đun Devel và thêm dsm($form); vào chức năng trên.

22
marcvangend

mã này về cơ bản người dùng dor thêm lớp tùy chỉnh của bạn vào nút gửi biểu mẫu.

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
  );

}
0
devendra