Änderung der Checkbox wird nicht erkannt

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
RalphW
Beiträge: 99
Registriert: 20. Jun 2016, 14:42
Wohnort: Austria

Änderung der Checkbox wird nicht erkannt

Beitrag von RalphW »

Für mein Plugin habe ich ein Einstellungsseite gebaut, in der ich in die Tabelle 2 Settings speichere (list_per_page und table_columns_hide). Dazu habe ich den folgenden Code erstellt:

Code: Alles auswählen

$form = new HtmlForm(
    'pref_form', safeUrl(PLG_URL . '_function.php', array('form' => 'pref')),
    $page, array('class' => 'form-preferences')
);

$selectBoxEntries = array('10' => '10', '25' => '25', '50' => '50', '100' => '100');
$form->addSelectBox(
    'list_per_page', $gL10n->get('PLG_LIST_PER_PAGE'), $selectBoxEntries,
    array('defaultValue' => plgGetPreference('list_per_page'), 'showContextDependentFirstEntry' => false, 'helpTextIdInline' => 'PLG_LIST_PER_PAGE_DESC')
);

$columnHeading = plgGetHtmlTableColumnsHeader('table'); // erstelle Array mit Spaltennamen
$columnHide = array();
$columnHide = array_fill(0, count($columnHeading), false);

foreach (json_decode(plgGetPreference('table_columns_hide'), JSON_OBJECT_AS_ARRAY) as $key => $value)
{
	$columnHide[$value - 1] = 1;
}

$form->addCustomContent($gL10n->get('PLG_HIDE_COLUMNS'), $gL10n->get('PLG_HIDE_COLUMNS_DESC'));
foreach ($columnHeading as $key => $value)
{
	$form->addCheckbox(($key + 1), $value, $columnHide[$key]);		// +1 für die Verwendung in setDatatablesColumnsHide
}

$form->addSubmitButton(
    'btn_save', $gL10n->get('SYS_SAVE'),
    array('icon' => THEME_URL.'/icons/disk.png', 'class' => ' col-sm-offset-3')
);

$page->addHtml(getPreferencePanel('plg', 'pref', $gL10n->get('PLG'), 'chart_organisation.png', $formAss->show(false)));
Es werden also alle Spaltennamen untereinander angezeigt. Wenn die Checkbox gewählt ist, dann wird die Spalte in der Tabelle nicht angezeigt, steht aber für Global Search zur Verfügung.

Es funktioniert leider nur, wenn ich auch die SelectBox für die Anzahl pro Seite anzeige verändere. Nur die Checkboxen für die Spalten aus- oder abwählen führt zu keiner Änderung beim Clicken auf Speichern.

Woran kann das liegen, dass das nicht funktioniert?
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Änderung der Checkbox wird nicht erkannt

Beitrag von fasse »

Hallo Ralph,

bei Checkboxen wird bei der Übertragung eines Formulars nur ein Wert übertragen, sofern du den Haken setzt. Ist der Haken nicht gesetzt, wird kein Wert übertragen.

Evtl. war/ist das dein Problem.

Gruß
Fasse
RalphW
Beiträge: 99
Registriert: 20. Jun 2016, 14:42
Wohnort: Austria

Re: Änderung der Checkbox wird nicht erkannt

Beitrag von RalphW »

Hallo Fasse,

Nein, daran liegt es nicht. Ich kann bei den Checkboxen setzen was ich will. Wenn ich auf Speichern clicke passiert nichts. Es ist wie wenn ich nichts verändert hätte. Erst wenn ich auch die Dropbox ändere, werden die Checkboxen berücksichtigt.

viele Grüße
Ralph
Antworten