it-swarm-ja.com

送信ボタンクラスを変更するにはどうすればよいですか?

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

クラスを「form-submit」から「form-submitone」に変更したい。

どうすればできますか?クラス「フォーム送信」はどこから来たのですか?

12
enjoylife

私があなたなら、クラス名を変更するのではなく、独自のクラスをフォーム要素に追加します。これを行うには、カスタムモジュールに 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);を追加することをお勧めします。

22
marcvangend

このコードは基本的に、ユーザーdorがフォーム送信ボタンにカスタムクラスを追加します。

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