i hacked the function display_change_field by adding one line and modifing one line.
see bold code below:
function display_change_field($row, $k) /* {{{ */
{
$css_postfix = @$this->fdd[$k]['css']['postfix'];
$css_class_name = $this->getCSSclass('input', null, true, $css_postfix);
$escape = isset($this->fdd[$k]['escape']) ? $this->fdd[$k]['escape'] : true;
$js = isset($this->fdd[$k]['js']) ? $this->fdd[$k]['js'] : null;
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"';
echo $this->getColAttributes($k),">\n";
if ($this->col_has_values($k)) {
$vals = $this->set_values($k);
$multiple = $this->col_has_multiple($k);
$readonly = $this->readonly($k);
$strip_tags = true;
//$escape = true;
if ($this->col_has_checkboxes($k) || $this->col_has_radio_buttons($k)) {
echo $this->htmlRadioCheck($this->cgi['prefix']['data'].$this->fds[$k],
$css_class_name, $vals, $row["qf$k"], $multiple, $readonly,
$strip_tags, $escape);
} else {
echo $this->htmlSelect($this->cgi['prefix']['data'].$this->fds[$k],
$css_class_name, $vals, $row["qf$k"], $multiple, $readonly,
$strip_tags, $escape,
$js
);
}
} elseif (isset($this->fdd[$k]['textarea'])) {
echo $this->htmlTextarea($this->cgi['prefix']['data'].$this->fds[$k], $css_class_name, $k, $row["qf$k"]);
} elseif ($this->col_has_php($k)) {
echo include($this->fdd[$k]['php']);
} else {
.....
and then add the same in the function display_add_record()
now ist works with this definition:
Kód: |
$opts['fdd']['ret_accr_cat'] = array(
'name' => $str_category,
'select' => 'D',
'maxlen' => 11,
'values2' => $accrcats,
'js' => 'onchange="setOptions(document.PME_sys_form.PME_data_ret_accr_cat.options[this.selectedIndex].value);"',
);
|
or do i misunderstand somthing and its already supported without hacking the class?
|