Почему делает Spring, который MVC добавляет “1” к пути для генерации идентификатора form:checkbox?

Если у меня есть флажок как это в моем jsp: <form:checkbox path="agreeToLegalAgreements" />

Это приводит к: <input id="agreeToLegalAgreements1" name="agreeToLegalAgreements" type="checkbox" value="true"/><input type="hidden" name="_agreeToLegalAgreements" value="on"/>

Почему "1" добавляет к идентификатору? Причина, которую я спрашиваю, состоит в том, потому что я имею к hardcode "1", если я хочу установить этот флажок с помощью JavaScript: document.getElementById('agreeToLegalAgreements1').checked=true;

6
задан Champ 10 January 2010 в 02:25
поделиться

1 ответ

Это необходимо, поскольку может потребоваться привязать несколько флажков к одному и тому же полю, и каждый из них должен иметь уникальный идентификатор.

Например, если ваш объект формы имеет список интересов

Programming: <form:checkbox path="interests" value="Programming"/>
Painting: <form:checkbox path="interests" value="Painting"/>
Fishing: <form:checkbox path="interests" value="Fishing"/>

Вывод будет:

Programming: <input id="interests1" name="interests" type="checkbox" value="Programming"/>
Painting: <input id="interests2" name="interests" type="checkbox" value="Painting"/>
Fishing: <input id="interests3" name="interests" type="checkbox" value="Fishing"/>

(Я опустил скрытый ввод пустого значения)

.
8
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: