首先,这个问题似乎以前已经回答过,但是我似乎无法将任何答案应用于此版本。
如果我将下面的 19000 更改为 19,000,则无法提交输出的表单,因为它不显示为数字。
我听说我可以使用DecimalFormat,但我正在努力弄清楚我把线放在哪里?
foreach($wb_spc_array['step1'] as $key=>$value){
$array = array(
"#type" => "textfield",
"#title" => $value['title'],
"#required" => TRUE,
'#default_value' => empty($form_state['storage']['values']['step1'][$key]) ? '190000' : $form_state['storage']['values']['step1'][$key],
'#element_validate' => array('wb_spc_number_element_validate'),
'#size' => 20,
);
完整的 php 模块可以在 (http://jsfiddle.net/ytv1v8r7/) 中看到。
如果它对自定义Drupal模块有区别,请参阅此处。
非常感谢您的时间,
你可能想试试:
elseif($step == 1){
$form['step1'] = array('#type'=>'fieldset', '#title'=>"Step {$step} (of {$section_count}) - Current Business Figures", '#attributes'=>array('class'=>array('step1')));
$number = 190000;
// english notation (default)
$english_format_number = number_format($number);//190.000
foreach($wb_spc_array['step1'] as $key=>$value){
$array = array(
"#type" => "textfield",
"#title" => $value['title'],
"#required" => TRUE,
'#default_value' => empty($form_state['storage']['values']['step1'][$key]) ? $english_format_number : $form_state['storage']['values']['step1'][$key],
'#element_validate' => array('wb_spc_number_element_validate'),
'#size' => 20,
);
if(@$value['type'] == "percentage"){
$array = wb_spc_form_element_select_percentage();
$array["#title"] = $value['title'];
$array['#attributes']['class'] = array("wb_spc_percentage");
$array['#default_value'] = empty($form_state['storage']['values']['step1'][$key]) ? '' : $form_state['storage']['values']['step1'][$key];
}
$form['step1'][$key] = $array;
}
}