Drupal的时候验证失败
问题描述:
我已经使用这个添加的设置,以我的JavaScript文件Drupal.settings值不重装:Drupal的时候验证失败
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
我怎样才能重新加载这些阵列,或防止在验证失败删除阵列。 请,任何帮助表示赞赏。
亲切的问候!
答
我解决了它,在验证函数中,我刚刚检查了任何错误,如果存在错误,我只需再次添加js文件。
答
$form['#after_build'][] = 'yourmodulename_after_build';
function yourmodulename_after_build ($form, &$form_state) {
//...do something...
return $form
}
使用您hook_form或hook_form_alter这个“#after_build”,那么您的更改将形式示出
为什么不检查,看看(也验证等后)每次应用如果XC被定义首先在你做什么之前? – 2012-01-09 13:25:32
当$ descriptions或$ units为空时,验证是否失败?当你查看你期望它在代码中的位置时,你会得到什么输出? – 2012-01-09 18:25:19
我解决了它,在验证函数中,我只是检查任何错误,如果存在错误,我只需再次添加js文件!不管怎么说,还是要谢谢你。 – Carnal 2012-01-10 09:22:19