<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Quiero alterar la clase de "formulario-enviar" a "formulario-enviar".
¿Cómo puedo hacerlo? ¿De dónde viene la clase "envío de formulario"?
<input type="submit" class="form-submit" value="" name="op" id="edit-submit">
Quiero alterar la clase de "formulario-enviar" a "formulario-enviar".
¿Cómo puedo hacerlo? ¿De dónde viene la clase "envío de formulario"?
Respuestas:
Si yo fuera usted, no cambiaría el nombre de la clase, sino que agregaría su propia clase al elemento de formulario. Puede hacerlo implementando hook_form_alter en un módulo personalizado o (en el caso de Drupal 7) en su tema. El código se vería así:
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id = 'my_form') {
$form['actions']['submit']['#attributes']['class'][] = 'form-submitone';
}
}
?>
Por cierto, el elemento del botón enviar no es necesariamente $form['actions']['submit']
. Tendrá que averiguar qué elemento es el botón de envío en su situación específica. Puede hacerlo generando la variable $ form; Recomiendo instalar el módulo Devel y agregar dsm($form);
a la función anterior.
$form['actions']['submit']['#attributes']['class'] = array('form-submitone');
, estaría anulando todas las clases que ya están establecidas. Si lo hiciera $form['actions']['submit']['#attributes'] = array('class' => array('form-submitone'));
, sobrescribiría no solo las clases existentes, sino todos los atributos. (PD Vea también mi adición a la respuesta anterior.)
Básicamente, este código de usuario no agrega su clase personalizada en el botón de envío de formulario.
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
);
}
'class' => array("mybtn-class", "mybtn-class2")
'#attributes' => array('class' => array('mybtn', 'mybtn-2'))