drupal 7 webform更改表单输入属性

时间:2017-01-17 09:15:43

标签: drupal drupal-7

我的表单有alt属性,如下面的

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

我想用 data-alt 删除 alt 标记,所以它应该如下所示

<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;
            }
        }
    }
}

请帮忙解决问题

1 个答案:

答案 0 :(得分:0)

您不是在$form次迭代中修改$values而只修改$form

  • 修改$form[...][$keyid]['#attributes]['data-alt'] = $alt; 变量本身:

    $value
  • 或者通过foreach()传递&(先前的&符号foreach ($form as &$value) { # code... } )。

    <a class="pointy" title="Rating: 9 / 10">dont select this text</a>
    <a class="pointy" title="Rating: 1 / 10">or this text</a>