我已将设置添加到我的javascript文件中:
drupal_add_js(array('xc' => array('unit_descriptions' => $descriptions)), 'setting');
drupal_add_js(array('xc' => array('unit_names' => $units)), 'setting');
使用:
加载.js文件时,它可以正常工作$unitName.text(Drupal.settings.xc.unit_names[utid]);
$unitDesc.text(Drupal.settings.xc.unit_descriptions[utid]);
为了加载值。 但是当验证失败时,例如:如果我没有指定名称或其他什么,这两个数组就会消失,我在控制台中得到语句:
Drupal.settings.xc is undefined
如何重新加载这些数组,或阻止on验证无法删除数组。 请,任何帮助表示赞赏。
亲切的问候!
答案 0 :(得分:1)
我解决了它,在我刚刚检查过任何错误的验证函数中,如果存在错误,我只是再次添加js文件。
答案 1 :(得分:0)
$form['#after_build'][] = 'yourmodulename_after_build';
function yourmodulename_after_build ($form, &$form_state) {
//...do something...
return $form
}
在hook_form或hook_form_alter中使用此“#after_build”,因此每次显示表单时(包括验证后等)都会应用您的更改