во-первых, можно наследовать класс и переопределить метод.
во-вторых, судя по коду, достаточно передать $caption в функцию, если речь о value.
в-третьих, это просто обертка над одним тегом, можно и html свой вывести в обход класса формы.
В сети советуют, чтобы избежать проблем, присвоить сабмитам разные имена.
проблемы могут быть только от кривизны рук разработчика