首先,似乎此问题已经得到解答,但我似乎无法应用此版本的任何答案。
如果我将下面的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,
);
可以在(http://jsfiddle.net/ytv1v8r7/)看到完整的php模块。
如果对自定义Drupal模块有所不同,请参阅here。
非常感谢你的时间,
答案 0 :(得分:1)
你可能想尝试:
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;
}
}