我正在尝试根据上传的文件更新表单字段。我正在使用hook_form_alter()
来执行这些更新,并且我发现在首次加载网页时我可以更改字段的default_value
。但是,由于文件被上传而调用hook_form_alter()
时,同样的事情不起作用。例如,
function mymodule_form_alter(&$form, &$form_state, $form_id){
// I can change the default value here
$form['field_myfield']['und'][0]['value']['#default_value'] = "Some Value";
// Check to see if the upload button has been pressed
if (array_key_exists('clicked_button', $form_state))){
$trigger = $form_state['clicked_button']['#value'];
if($trigger == 'Upload'){
// Try to change the default value here. The value is changed in $form,
// but the field is not updated on the website.
$form['field_myfield']['und'][0]['value']['#default_value'] = "New Value";
}
}
}
我需要进行某种刷新吗?我简要地看了一下AHAH,这是我需要使用的东西吗?我是Drupal的新手,如果我的术语和/或方法存在根本性的错误,我会提前道歉。
非常感谢任何帮助。