Трябва ми текстът на контейнера да бъде игнориран в Drupal търсене при изпращане

В моя сайт имам страница за преглед с открит филтър -> термини за търсене, позволяващи на потребителите да търсят с помощта на ключови думи.

В това поле за търсене имам етикет ( ->Въведете ключови думи..) и той се показва като контейнер. При щракване в това поле този етикет изчезва и можете да напишете свои собствени ключови думи. Ако нищо не се въвежда чрез щракване някъде другаде, етикетът (->Въведете ключови думи..) се появява отново. С натискане на бутона за изпращане се показват всички резултати. Това поведение е приемливо.

Имам нужда от този изглед в целия сайт и искам да добавя блок за изглед със същия открит филтър.

Проблемът е, че когато натисна бутона за изпращане (в блока за преглед), етикетът (->Въведете ключови думи...) се счита за желаната ключова дума. Така че не се показват резултати.

Имам нужда този етикет да бъде игнориран, ако не се въвеждат ключови думи от потребителите в това поле за търсене.

Може би полезна информация:

  • При щракване в някое от тези две полета за търсене, етикетът за контейнер (->Въведете ключови думи..) изчезва и в двете полета за търсене.
  • Ако въведа валидна (според моите възли) ключова дума, се показват правилните резултати.
  • Страницата за търсене в изглед няма проблем (етикетът се игнорира при изпращане)

Това е генерираният HTML за страницата за преглед:

<div id="edit-keys-wrapper" class="views-exposed-widget views-widget-filter-keys">
                  <label for="edit-keys">
            Εισάγετε λέξεις κλειδιά...          </label>
                        <div class="views-widget">
          <div class="form-item form-type-textfield form-item-keys">
 <input title="Enter the terms you wish to search for." type="text" id="edit-keys" name="keys" value="" size="15" maxlength="128" class="form-text">
</div>
        </div>
              </div>

Това е генерираният HTML за блока за преглед:

<div id="edit-keys-wrapper" class="views-exposed-widget views-widget-filter-keys">
                        <div class="views-widget">
          <div class="form-item form-type-textfield form-item-keys">
 <input title="Enter the terms you wish to search for." type="text" id="edit-keys" name="keys" value="" size="15" maxlength="128" class="form-text">
</div>
        </div>
              </div>

person Pantelis    schedule 22.06.2015    source източник
comment
Текстът на контейнера имплементиран ли е с помощта на атрибута „заместител“ в полето за въвеждане? Можете ли да поставите генерирания HTML за полето за филтър?   -  person Scott Anderson    schedule 23.06.2015


Отговори (1)


Ако в момента използвате модула Placeholder...(https://www.drupal.org/project/placeholder)

Вместо това можете да използвате атрибут HTML5 placeholder. Можете да направите това, като промените формуляра чрез кука и добавите атрибута към полето.

e.g.

function mymodule_form_alter(&$form, $form_state, $form_id) {
  if($form_id == 'views_exposed_form') {
    $form['keys']['#attributes']['placeholder'] = $form['keys']['#attributes']['title'];
  }
}
person Scott Anderson    schedule 23.06.2015