Próbuję stworzyć dynamiczną formę za pomocą form sprężynowych. Zasadniczo formularz otrzymuje tytuł aktywności szkoleniowej, a następnie znajduje się pod nim przycisk z napisem "Dodaj jeszcze jedną aktywność edukacyjną". Dzięki temu użytkownik może dodać jeszcze jedno działanie edukacyjne. Chcę, żeby mógł dodać tyle, ile mu się podoba.Dynamiczne formy na wiosnę
Nie próbowałem tego wcześniej, więc oczywiście napotkałem błędy przy pierwszym rozwiązaniu, o którym myślałem. Naprawdę miałem wrażenie robi to, co zrobiłem wygeneruje błąd, ale po prostu nie jechać do domu, co próbuję zrobić, oto kod:
<script language="javascript">
fields = 0;
function addInput() {
document.getElementById('text').innerHTML += "<form:input path='activity[fields++].activity'/><br />";
}
<div id="text">
<form:form commandName="course">
Learning Activity 1
<form:input path="activity[0].activity"/>
<input type="button" value="add activity" onclick="addInput()"/>
<br/><br/>
<input type="submit"/>
</form:form>
<br/><br/>
</div>
Próbowałem to zrobić, ale wartości wygenerowanych formularzy nie są powiązane z klasą polecenia. Tylko ten, który wyraźnie ustawiłem w formie sprężyny, jest związany np. W powyższym kodzie: –
Jeune
"Jeden problem, który może powodować problemy: dołączasz nowe pole wejściowe na końcu zewnętrznego elementu div ("tekst"), co oznacza, że nie ma go w tagach formularza. To nie zadziała. " Powiedziałem, że już dodałem nowe pola wejściowe wewnątrz innego elementu div w tagach formularza, nadal dołączone pola wejściowe nie wiążą się. – Jeune
Czy możesz podać przykład dołączonego pola wprowadzania? Użyłem tego podejścia, aby zrobić dokładnie to i działa. Pole wejściowe o nazwie "activity [1] .activity" powinno wiązać się z drugim elementem na liście działań (zakładając, że ma pole "aktywności") itp. –