Zum Inhalt springen

powermail: onchange zu SelectField hinzufügen

Erstellt am 13. März 2014 · 4 Antworten · letzte Antwort am 18. März 2014

Tags: Templates & Layouts, Powermail, Frage

sugi ·

Moin zusammen,

zu folgendem Problem habe ich über Google keine Lösung gefunden:

Ich habe onchange="{field.marker}(this);" im Select-Feld (Template-Pfad: /Private/Partials/Form/Select.html) eingetragen. Und folgende Fehlermeldung erhalten:

Uncaught TYPO3 Exception: #1237823695: Argument "onchange" was not registered.

Ich vermute, dass ich in SelectFieldViewHelper.php Änderung vornehmen muss oder weiß jemand eine andere Lösung bzw. Möglichkeit?

Bin für jede Hilfe bzw. Hinweise dankbar.

Viele Grüße,
sugi

freeatweb ·

Hallo,
soweit ich weiß gibt in in FLUID keinen onchange-event.
Probier mal, ob du es über den Parameter additionalAttributes lösen kannst:

<f:form.select additionalAttributes="{onchange: '[change-event]'}" />
sugi ·

Danke für den Hinweis, aber dies kann ich nicht anwenden, da für select vh angewendet wird:

<vh:Form.SelectField options="{field.settings}" name="field[{field.uid}]" class="powermail_field powermail_select {vh:Misc.ValidationClass(field: '{field}')} {vh:Misc.ErrorClass(field: '{field}', class: 'powermail_field_error')}" id="powermail_field_{field.marker}" value="{vh:Misc.PrefillField(field: '{field}')}" />

Ich hab zwar so ausprobiert, aber funktioniert trotzdem nicht:

<vh:Form.SelectField options="{field.settings}" name="field[{field.uid}]" class="powermail_field powermail_select {vh:Misc.ValidationClass(field: '{field}')} {vh:Misc.ErrorClass(field: '{field}', class: 'powermail_field_error')}" id="powermail_field_{field.marker}" value="{vh:Misc.PrefillField(field: '{field}')}" additionalAttributes="{onchange : 'reservierung(this);'}" />
sugi · · Beste Antwort

Ich habe nun mit Javascript gelöst:

document.getElementById('powermail_field_reservierung').onchange = function()
{
	if(this.options[this.selectedIndex].value == "Tisch")
	{
		document.getElementById('powermail_fieldwrap_37').style.display = 'block';
	}
	else
	{
		document.getElementById('powermail_fieldwrap_37').style.display = 'none';
	}
}

Danke für Deine Hinweise.
Schade, dass man onchange nicht in Fluid-Templates anwenden kann.