我需要在提交时在Drupal搜索中忽略占位符文本



在我的网站上,我有一个带有公开过滤器的查看页面->搜索词,允许用户使用关键字进行搜索。

在那个搜索框中,我有一个标签(->输入关键字..),它显示为占位符。点击该框,该标签将消失,您可以编写自己的关键字。如果单击其他位置没有键入任何内容,则标签(->输入关键字..)将再次出现。按下提交按钮将显示所有结果。这种行为是可以接受的。

我需要整个网站的视图,我想添加一个具有相同暴露过滤器的视图块。

问题是,当我按下提交按钮(在视图块中)时,标签(->输入关键字..)被认为是所需的关键字。因此,没有显示任何结果

如果用户在搜索框中没有键入关键字,我需要忽略该标签。

也许有用的信息:

  • 单击这两个搜索框中的任何一个,占位符标签(->输入关键字..)在两个搜索框中都消失了
  • 如果我输入了一个有效的(根据我的节点)关键字正在显示结果
  • 视图中的seach页面没有问题(提交时忽略标签)

这是为视图页面生成的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>

如果您当前正在使用占位符模块。。。(https://www.drupal.org/project/placeholder)

您可以使用HTML5占位符属性。您可以通过钩子更改表单并将属性添加到字段中来实现这一点。

例如

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

相关内容

  • 没有找到相关文章

最新更新