Я настраиваю форму оплаты Stripe, поэтому мне нужно удалить названия полей моего месяца и года, чтобы они не отправлялись на мой сервер. Следующий код, тем не менее, по-прежнему дает полю имя «[месяц]», и если бы текст переменной имени массива был «xyz», поле было бы названо «xyz [месяц]». Как я могу удалить полное название поля?
echo $this->Form->month('expiration_month', array('name' => '', 'data-stripe' => 'exp_month', 'default' => 'January'));
В соответствии с документация, имя <select>
Элемент является производным от первого аргумента функции («expiration_month» в вашем примере.) Если вы посмотрите на код, Вы можете видеть, что значение «месяц» жестко закодировано.
Единственный способ обойти это вручную построить свой собственный <select>
элемент, или просто игнорировать значение, когда дело доходит до вашего сервера. Но зачем заставлять пользователей заполнять элемент формы, который не будет обрабатываться вашим сервером?
Итак, быстрый и грязный способ обойти это — найти поле выбора с помощью js и перезаписать атрибут name.