Drupal - Добавить класс для всех кнопок отправки - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть несколько форм на моей веб-странице, и я хочу иметь возможность добавить класс ко всем моим кнопкам отправки (сейчас у меня стандартная форма отправки). А также, в некоторых формах у меня есть кнопка, которая использует AHAH для того, чтобы что-то показать, но я не хочу, чтобы у них был новый класс, только те кнопки, которые окончательно отправляют форму.

Заранее спасибо!

Ответы [ 3 ]

8 голосов
/ 22 декабря 2011

Или вы можете перезаписать theme_button, который отвечает за кнопки отправки.Поместите это в файл template.php и не забудьте очистить кеш после внесения изменений.Вы можете var_dump $element и посмотреть, как вы можете различить кнопки отправки.

/**
 * Overwrite theme_button()
 * @file template.php
 * !replace my_theme with the name of your active theme
 */
function my_theme_button($element) {

  // Add some extra conditions to make sure we're only adding
  // the classto the right submit button
  if ($element['#id'] == 'edit-submit') {
    // Now add our custom class
    if (isset($element['#attributes']['class'])) {
      $element['#attributes']['class'] .= ' extra-class';
    }
    else {
      $element['#attributes']['class'] = 'extra-class';
    }
  }

  return theme_button($element);
}
1 голос
/ 22 декабря 2011

Или используйте jQuery:

jQuery("form .form-submit:last-child").addClass("your-custom-class");
0 голосов
/ 22 декабря 2011

вам не нужны другие классы, просто сделайте правильный выбор CSS:

form .form-submit:last-child { color: red; }

это будет стилизовать только последнюю кнопку отправки на каждой форме на вашей странице.

...