Drupal-将类添加到所有提交按钮

Drupal-将类添加到所有提交按钮,drupal,drupal-6,form-submit,Drupal,Drupal 6,Form Submit,我的网页中有几个表单,我希望能够将一个类添加到我所有的提交按钮中(现在我将表单提交作为标准)。而且,在一些表单中,我有一个按钮,它使用AHAH来显示一些东西,但我不希望这些有新的类,只有那些在表单上进行最终提交的按钮 提前谢谢 您不需要其他类,只需做出正确的CSS选择: form .form-submit:last-child { color: red; } 这将仅设置页面上每个表单上最后一个提交按钮的样式。或使用jQuery: jQuery("form .form-submit:last-c

我的网页中有几个表单,我希望能够将一个类添加到我所有的提交按钮中(现在我将表单提交作为标准)。而且,在一些表单中,我有一个按钮,它使用AHAH来显示一些东西,但我不希望这些有新的类,只有那些在表单上进行最终提交的按钮


提前谢谢

您不需要其他类,只需做出正确的CSS选择:

form .form-submit:last-child { color: red; }
这将仅设置页面上每个表单上最后一个提交按钮的样式。

或使用jQuery:

jQuery("form .form-submit:last-child").addClass("your-custom-class");

或者您可以覆盖负责提交按钮的主题按钮。将其放入
template.php
文件中,并确保在进行更改后清除缓存。您可以
var\u 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);
}

并非所有浏览器都支持最后一个孩子,因此我需要为所有提交按钮添加一个类。IE8及更低版本不支持最后一个孩子。所有其他浏览器都可以。即使是IE9和新的IE10ALRIGHT,但我尝试了你的方法,但它不起作用,你不知道如何实现我最初的建议吗!?尝试使用jquery。查看我发布的另一个答案:)您可以使用[]语法避免isset检查$元素['#属性']['class'][]='extra class';看见