Запретить Drupal отправку при выборе из автозаполнения данных и нажмите Enter - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть эта форма отправки автозаполнения поиска.Но это работает не так, как я ожидал.

  1. Я хочу, чтобы «нажми ввод», все же отправляй форму с данными в текстовом поле
  2. Но не тогда, когда я поднимаюсь и опускаюсь довыберите элемент из выпадающего списка автозаполнения

enter image description here

Когда я поднимаюсь и опускаюсь в списке и нажимаю клавишу ввода,отправка формы НЕ с термином, в который я вхожу в список, а с данными, которые я ввел в текстовое поле.

Я надеюсь заполнить текстовое поле и выполнить автоматическую отправку, когда люди нажимают клавишу ввода, если он выбирает один извыпадающий список или не выбирать ничего.

Я также пытался подключиться к событию 'autocompleteselect', но, похоже, оно не работает.Возможно, это как-то связано с тем, что я использовал autocomplete_path для подключения к автозаполнению.

JS:

$(document).on("autocompleteselect", "#edit-keyword", function (event, ui) {
    var data = ui.item.value;
    console.log(data);

});

Drupal:

$form['edit-keyword'] = array(
    '#id' => 'edit-keyword',
    '#prefix' => '<div id="edit-keyword-wrapper" class="views-exposed-widget">',
    '#suffix' => '</div>',
    '#type' => 'textfield',
    '#default_value' => '',
    '#attributes' => array('id' => 'edit-keyword', 'class' => ['edit-keyword'], 'placeholder' => t("Start typing to search..")),
    '#attached' => array(
        'js' => array(
            drupal_get_path('module', 'np_global_search') . '/np_global_search.js'
        ),
    ),
    '#autocomplete_path' => 'np-gs-search/autocomplete',
);
...