在我的 Drupal Forms API 表单验证函数中,我尝试从用户的信用卡中收取费用。如果成功,我想将参考号传递给提交函数,以便可以在那里使用。这样做的最佳方法是什么?
问问题
2940 次
1 回答
3
文档是这样说的:
请注意,从 Drupal 6 开始,您也可以简单地将任意变量存储在 $form['#foo'] 中,只要 '#foo' 不与 Form API 的任何其他内部属性冲突。
所以你可以做这样的事情:
function form($form_state) {
//in your form definition function:
$form['#reference_number'] = 0;
}
function form_validate($form, &$form_state) {
//try to charge card ...
if ($card_charged) {
$form_state['values']['#reference_number'] = $reference_number;
}
}
function submit_form($form, &$form_state) {
if (isset($form_state['values']['#reference_number'])) {
$reference_number = $form_state['values']['#reference_number'];
//do whatever you want
}
}
于 2009-07-30T18:36:50.833 回答