在我的网站上,我有一个带有公开过滤器的查看页面->搜索词,允许用户使用关键字进行搜索。
在那个搜索框中,我有一个标签(->输入关键字..),它显示为占位符。点击该框,该标签将消失,您可以编写自己的关键字。如果单击其他位置没有键入任何内容,则标签(->输入关键字..)将再次出现。按下提交按钮将显示所有结果。这种行为是可以接受的。
我需要整个网站的视图,我想添加一个具有相同暴露过滤器的视图块。
问题是,当我按下提交按钮(在视图块中)时,标签(->输入关键字..)被认为是所需的关键字。因此,没有显示任何结果
如果用户在搜索框中没有键入关键字,我需要忽略该标签。
也许有用的信息:
- 单击这两个搜索框中的任何一个,占位符标签(->输入关键字..)在两个搜索框中都消失了
- 如果我输入了一个有效的(根据我的节点)关键字正在显示结果
- 视图中的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'];
}
}