我的表单有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;
}
}
}
}
请帮忙解决问题
答案 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>