2014-09-17 3 views
6

Ich habe einige Probleme mit Formularen in Yii2. Ich muss ein Formular erstellen, das drei Dropdown-Menüs enthält, die den Benutzer fragen, welche Zeit (en) in einer Woche am besten für ihn oder sie funktionieren. Das erste Menü würde Wochentage sein, und die nächsten zwei wären Start- und Endzeiten.Dynamisches Hinzufügen von Eingabefeldern in Yii2

Aber mein Projekt ist ehrgeiziger als das. Ich muss dem Benutzer auch die Möglichkeit geben, eine beliebige Zeitkonfiguration festzulegen. Daher muss das Formular erweitert und dynamisch gemacht werden, damit der Benutzer dem Formular weitere Dropdown-Menüs hinzufügen kann, um weitere Zeiten anzugeben.

Ich habe viele Lösungen ausprobiert, aber das Problem scheint darin zu liegen, vom Benutzer erstellte Eingabefelder zu haben. Ich glaube, dass es einen Weg gab, dies in Yii 1 zu tun, aber Yii 2 war anscheinend so eine Code-Überarbeitung, dass alte Workarounds selten nützlich sind. Ich habe viele Erweiterungen untersucht, insbesondere die Erweiterungen von Krajee, und obwohl viele von ihnen sehr hübsch und benutzerfreundlich sind, bieten sie keine dynamische Felderzeugung. Ich habe selbst einige Hacks ausprobiert, aber nichts hat funktioniert, und ich frage mich, ob es überhaupt einen Weg gibt, ein Formular mit einer dynamischen Anzahl von Eingabefeldern in Yii 2 zu erstellen. Wenn nicht, bin ich versucht, einfach etwas zu schreiben einfaches Javascript und PHP außerhalb von Yii, um den Job zu erledigen, aber ich würde gerne im Rahmen bleiben.

+0

fand eine http://www.9lessons.info/2010/04/jquery-duplicate-field-form-submit-with.html Auf der Suche nach einer besseren Lösung. Ich weiß nicht oben Link funktioniert oder nicht – Kshitiz

+0

Gibt es eine Beschränkung für die gesamte Eingabe generiert? – Kshitiz

+0

Es könnte ein Limit geben, etwas, das der Benutzer sowieso nie treffen würde. Zum Beispiel erwarte ich nicht, dass der Benutzer 20 verschiedene Zeitkonfigurationen angibt. – richp32

Antwort

0

Wenn Sie mit einem komplexen Formular arbeiten, können die Felder dem Formular dynamisch hinzugefügt (oder daraus entfernt) werden. Die neu hinzugefügten Felder müssen ebenfalls validiert werden.

This link demonstriert ein Beispielszenario, in dem Sie das Problem der Validierung dynamischer Felder lösen müssen.