Archief - Drupal 7: Exposed filter: HTML5 placeholder toevoegen aan veld

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ctuxboy

Legacy Member
Hallo,

Ben hier weeral ;)

Probeer via hook_form_alter een het placeholder attribuut toe te voegen aan een veld.
Probleem is echter hoe dit veld te identificeren.

Via:

Code:
dsm($form);

Heb ik volgende gegevens:
http://sdrv.ms/1aexxwM

Code voor hook_form_alter:
Code:
<?php
function location_search_form_alter (&$form, &$form_state, $form_id) {
dsm($form);

  if ($form_id == 'views_exposed_form' && $form['#id'] == 'views-exposed-form-zoekresultaten-geolocation-zoekresultaten') {
    if (isset($form['[distance][postal_code]'])) {
  	$form['[distance][postal_code]']['#attributes']['placeholder'] = t('Postcode...');
    };
  };
}
?>

Dit is de HTML:

Code:
...
<form action="/location-list" method="get" id="views-exposed-form-zoekresultaten-geolocation-zoekresultaten" accept-charset="UTF-8"><div><div class="views-exposed-form">
  <div class="views-exposed-widgets clearfix">
          <div id="edit-distance-wrapper" class="views-exposed-widget views-widget-filter-distance">
                        <div class="views-widget">
          <div class="form-item form-type-textfield form-item-distance-postal-code">
  <label for="edit-distance-postal-code">Postcode </label>
 <input type="text" id="edit-distance-postal-code" name="distance[postal_code]" value="" size="60" maxlength="16" class="form-text" />
</div>
...
</form>
...

ctuxboy

Legacy Member
Oplossing gevonden!

Probleem was dat de naam van het input-veld bestond uit een array!

Dus ipv distance[postal_code] , moest het zijn [distance][postal_code] .
Alsook de voorwaarde if(isset...) verwijderen.

Code:
<?php
function location_search_form_alter (&$form, &$form_state, $form_id) {

  if ($form_id == 'views_exposed_form' && $form['#id'] == 'views-exposed-form-zoekresultaten-geolocation-zoekresultaten') {
  	[B]$form[distance][postal_code]['#attributes']['placeholder'] = t('Postcode...');[/B]
  };
}
?>

Nu enkel nog foutafhandeling toevoegen...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan