it-swarm.com.de

So ersetzen Sie das Datumsfeld durch ein Textfeld in Drupal 7 Webformulare)

Ich verwende Webformulare in Drupal 7. Gibt es eine Möglichkeit, das Datumsfeld auf ein einzelnes Textfeld anstatt auf 3 Auswahlfelder festzulegen?

5
Eytyy

Da das Webfrom-Modul diese Funktionalität anscheinend noch nicht unterstützt, besteht die einfachste Möglichkeit darin, ein Textfeld zu verwenden und form_alter zum Hinzufügen des Datepicker-Plugins zu verwenden.

function custom_form_form_alter(&$form, &$form_state, $form_id) {

  if($form_id != 'webform_client_form_2') return;

  // Alter textfield for date to integrate popup calendar
  $form["submitted"]["expected_move_date"] = array(
    '#type' => 'item',
    'finished_after' => array(
      '#type' => 'textfield',
      '#attributes' => array('class' => array('datepicker')),
      '#required' => TRUE,
    )
  );

  $form['#after_build'] = array('custom_form_uidatepicker');

}

function custom_form_uidatepicker($form, $form_state) {
  drupal_add_library('system', 'ui.datepicker');
  drupal_add_js("(function ($) { $('.datepicker').datepicker({
      showOn: 'both',
      buttonImage: 'sites/all/modules/custom/custom_form/images/calendar.png',
      buttonImageOnly: true,
      dateFormat: 'dd/mm/yy',
    });
    $('.datepicker').datepicker( 'option', 'minDate', 'd' );
    })(jQuery);", array('type' => 'inline', 'scope' => 'footer', 'weight' => 5));

    return $form;
}
2
Eytyy