从自动完成数据中选择并阻止Enter时,防止Drupal提交来自

时间:2018-12-25 06:21:05

标签: javascript autocomplete drupal-7

我有此自动完成搜索提交表单。但这不像我预期的那样。

  1. 我希望“按回车键”仍然提交带有文本字段中数据的表单
  2. 但是当我上升 从自动完成下拉列表中选择项目

my search form

当我在列表上上下移动并按Enter键时,表单提交的内容不是在列表中输入的术语,而是在文本字段中键入的数据。

我希望填写文本框并在人们按下回车键时自动提交(如果他从下拉列表中选择一个或不选择任何东西)。

我也试图加入'autocompleteselect'事件,但它似乎不起作用。也许与我使用'autocomplete_path'连接'autocomplete'有关。

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',
);

0 个答案:

没有答案