web-dev-qa-db-fra.com

Comment puis-je modifier la classe du bouton de soumission?

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

Je veux modifier la classe de "formulaire-soumettre" à "formulaire-soumettre".

Comment est-ce que je peux le faire? D'où vient la classe "form-submit"?

12
enjoylife

Si j'étais vous, je ne changerais pas le nom de la classe mais ajouterais plutôt votre propre classe à l'élément de formulaire. Vous pouvez le faire en implémentant hook_form_alter dans un module personnalisé ou (dans le cas de Drupal 7) dans votre thème. Le code ressemblerait à ceci:

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

Soit dit en passant, l'élément bouton d'envoi n'est pas nécessairement $form['actions']['submit']. Vous devrez déterminer quel élément est le bouton d'envoi dans votre situation spécifique. Vous pouvez le faire en sortant la variable $ form; Je recommande d'installer le module Devel et d'ajouter dsm($form); à la fonction ci-dessus.

22
marcvangend

ce code consiste essentiellement pour l'utilisateur à ajouter votre classe personnalisée sur le bouton d'envoi du formulaire.

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