it-swarm-eu.dev

Jak mohu změnit třídu tlačítka pro odeslání?

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

Chci změnit třídu z "formulář-předložit" na "formulář-odeslat".

Jak to mohu udělat? Odkud pochází třída "formulář-předložit"?

11
enjoylife

Kdybych byl tebou, nezměnil bych název třídy, ale raději přidám svou vlastní třídu do elementu formuláře. Můžete to provést implementací hook_form_alter do vlastního modulu nebo (v případě Drupal 7) do vašeho motivu. Kód by vypadal asi takto:

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

Mimochodem, tlačítko tlačítka Odeslat nemusí být nutně $form['actions']['submit']. Budete muset zjistit, který prvek je tlačítko odeslání ve vaší konkrétní situaci. Můžete to provést výstupem proměnné $ form; Doporučuji nainstalovat modul Devel a přidat funkci dsm($form); k výše uvedené funkci.

21
marcvangend

tento kód v podstatě uživatel přidá svou vlastní třídu na tlačítko odeslání formuláře.

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