YForm - Select Field mit dynamischen Inhalten validiert nicht korrekt
Verfasst: 4. Feb 2018, 19:52
Hallo an Alle!
Ich benötige ein Formular, in dem ich die Optionen eines Selection Field dynamisch ändern will
Folgendermaßen bin ich bisher vorgegangen:
1) YForm angelegt mit nem "leeren" Selection field außer dem Basiseintrag- Bitte wählen -> siehe:
2) per Javascript lade ich die aktuelle gültigen Inhalte aus der Datenbank und ersetze die Optionen des Feldes:
Im Html Frontend funktioniert das wie erwartet - ABER, wenn ich nun auf Absenden klicke, bekomme ich, trotz Auswahl, immer den Hinweis, dass ich
noch ein Stück auswählen muss?!
Evtl. muss ich vom YForm noch was überschreiben, damit es im Backend die neuen Inhalte des Select Fields kennt?
Hinweis: ich habe per Javascript geprüft, ob das Selection Field auch ne Auwahl hat - hat es - es wird mir der korrekte Value zurück gegeben - nur die Backendprüfung vom YForm bekommt das scheinbar nicht mit
Evtl. kann mir jemand sagen, was ich tun muss, damit ich ein YForm mit dynamischen Inhalten inkl. Valierung hinbekomme - THX in dolby
Oliwan
Hierzu noch ein Nachtrag: Wenn ich die Validierung ausschalte und das Form absende, bekomme ich trozt ausgewählten Eintrag ein ba als Inhhalt übertragen ;-( - Wenn von euch niememand ne Idee hat, wie ich die Inhalte auch auf Seiten von YForm bekannt machen kann, muss ich wohl ein Form klassisch in PHP als Modul bauen - also ohne YForm
Ich benötige ein Formular, in dem ich die Optionen eines Selection Field dynamisch ändern will
Folgendermaßen bin ich bisher vorgegangen:
1) YForm angelegt mit nem "leeren" Selection field außer dem Basiseintrag- Bitte wählen -> siehe:
Code: Alles auswählen
$yform->setValueField('select', array('Stueck','Stück','Bitte auswählen=ba','','ba'));
$yform->setValidateField('compare', array("Stück","ba","==", "Bitte wählen Sie ein Stück aus!"));
Code: Alles auswählen
echo 'var options = [';
echo '{text: "Bitte auswählen", value: "ba"},';
for ($schleife=0;$schleife<sizeof($titel);$schleife++){
echo '{text: "'.$titel[$schleife].'", value: '.$schleife+1.'}';
if ($schleife<sizeof($titel)-1){echo ",";}
}
echo '];';
echo '$("#yform-table-rex_order-field-4").replaceOptions(options);';
Code: Alles auswählen
function($, window) {
$.fn.replaceOptions = function(options) {
var self, $option;
this.empty();
self = this;
$.each(options, function(index, option) {
$option = $("<option></option>")
.attr("value", option.value)
.text(option.text);
self.append($option);
});
};
})(jQuery, window);
noch ein Stück auswählen muss?!
Evtl. muss ich vom YForm noch was überschreiben, damit es im Backend die neuen Inhalte des Select Fields kennt?
Hinweis: ich habe per Javascript geprüft, ob das Selection Field auch ne Auwahl hat - hat es - es wird mir der korrekte Value zurück gegeben - nur die Backendprüfung vom YForm bekommt das scheinbar nicht mit
Evtl. kann mir jemand sagen, was ich tun muss, damit ich ein YForm mit dynamischen Inhalten inkl. Valierung hinbekomme - THX in dolby
Oliwan
Hierzu noch ein Nachtrag: Wenn ich die Validierung ausschalte und das Form absende, bekomme ich trozt ausgewählten Eintrag ein ba als Inhhalt übertragen ;-( - Wenn von euch niememand ne Idee hat, wie ich die Inhalte auch auf Seiten von YForm bekannt machen kann, muss ich wohl ein Form klassisch in PHP als Modul bauen - also ohne YForm