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
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]'}" />
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);'}" />
hmm ok :/
eine Lösung per jQuery kommt auch nicht in Frage?
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.