2017-01-17 8 views
0

У меня есть форма с альт атрибута, как показано нижедрупал атрибут 7 Webform форма ввода изменений

<input type="text" alt="abc"> 

Я хочу удалить альт тег с данных-альт, поэтому она должна быть ниже

<input type="text" data-alt="abc"> 

Я попытался ниже код, но это, кажется, не работает

function act_form_alter(&$form, &$form_state, $form_id) { 
    foreach($form["submitted"] as $newForm) 
    { 
     foreach($newForm as $keyid=>$frmArr) 
     { 
      if(isset($frmArr[]["#attributes"]["alt"])) 
      { 
        $alt = $frmArr["#attributes"]["alt"]; 
        unset($newForm[$keyid]["#attributes"]["alt"]); 
        $newForm[$keyid]["#attributes"]["data-alt"] = $alt; 
      } 
     } 
    } 
} 

Пожалуйста, помогите с пути, чтобы исправить это

ответ

0

Вы не модифицируя $form, но только $values в ваших foreach() итераций.

  • Либо изменить самое $form переменный:

    $form[...][$keyid]['#attributes]['data-alt'] = $alt; 
    
  • Или пройти $value по reference (ПРЕДШЕСТВУЮЩЕМУ амперсанду &).

    foreach ($form as &$value) { 
        # code... 
    } 
    
+0

не работает пожалуйста, вы можете помочь с подробным кодом – gaurav

+0

Конечно, вы можете сбросить '$ form' массива и добавить вывод на свой вопрос? –

 Смежные вопросы

  • Нет связанных вопросов^_^