如何从drupal 7中的自定义搜索表单中删除属性值

时间:2017-08-17 04:24:46

标签: drupal module webforms drupal-7

我已经为搜索块安装了自定义搜索模块。在搜索表单中,有一个文本字段具有属性,其中 null 值。这显示了辅助功能问题,这就是我想删除它的原因。我该怎么做呢请帮忙。

任何人都可以解决这类问题。

请参阅源代码快照。

snapshot of source code

2 个答案:

答案 0 :(得分:0)

对于文本字段,value属性被强制添加到theme_textfield()中,因此唯一的方法是在主题中覆盖该函数并删除该位代码:

function YOURTHEME_textfield($variables) {
  $element = $variables['element'];
  $element['#attributes']['type'] = 'text';
  // remove value form array
  element_set_attributes($element, array('id', 'name', 'size', 'maxlength'));
  _form_set_class($element, array('form-text'));

  $extra = '';
  if ($element['#autocomplete_path'] && !empty($element['#autocomplete_input'])) {
    drupal_add_library('system', 'drupal.autocomplete');
    $element['#attributes']['class'][] = 'form-autocomplete';

    $attributes = array();
    $attributes['type'] = 'hidden';
    $attributes['id'] = $element['#autocomplete_input']['#id'];
    $attributes['value'] = $element['#autocomplete_input']['#url_value'];
    $attributes['disabled'] = 'disabled';
    $attributes['class'][] = 'autocomplete';
    $extra = '<input' . drupal_attributes($attributes) . ' />';
  }

  $output = '<input' . drupal_attributes($element['#attributes']) . ' />';

  return $output . $extra;
}

希望这有助于你...

答案 1 :(得分:0)

您可以使用jquery删除它。使用以下代码。

$('.custom-search-box').removeAttr('value');

我猜这有助于你。