Contact Form 7: разные значения value и текста в выпадающем списке select

21 июн. 2012 г., 15:15:19
Просмотры: 113K
Голосов: 18

Кто-нибудь знает, как я могу установить разные значения в опциях выпадающего списка в плагине Contact Form 7? Вот пример HTML, который я хотел бы сгенерировать:

<select>
    <option value="1">Моя машина</option>
    <option value="2">Ваша машина</option>
</select>
1
Комментарии

Если нет нативного решения, можно решить это с помощью jQuery val(), show() и hide().

brasofilo brasofilo
21 июн. 2012 г. 16:15:32
Все ответы на вопрос 2
6
28

Похоже, что Contact Form 7 поддерживает это нативно, просто не совсем очевидно, как это реализовать.

Вот страница документации, объясняющая функциональность: http://contactform7.com/selectable-recipient-with-pipes/

По сути, все, что вам нужно сделать, это указать значения в таком формате:

"Видимое значение|фактическое-значение-для-формы"

То, что идет до символа |, будет отображаться в форме, а то, что после — будет фактическим значением, передаваемым в форме.

Надеюсь, это поможет!

30 окт. 2012 г. 21:16:39
Комментарии

Это не работает. Их документация некорректна.

Solomon Closson Solomon Closson
16 сент. 2015 г. 21:25:13

@SolomonClosson На самом деле это всё ещё работает; просто выглядит странно. HTML формы не показывает 'сырое' значение, но, как указано в конце ссылки, вы можете получить к ним доступ с помощью префикса _raw_, например _raw_ВАШЕПОЛЕ вместо ВАШЕПОЛЕ.

drzaus drzaus
4 дек. 2015 г. 04:57:53

Это будет работать только на стороне сервера. Согласно документации, это сделано для предотвращения передачи значений клиенту в браузере, поэтому если вы хотите получить доступ к значению опции с помощью JavaScript (val() в jQuery) вместо текста опции (text() в jQuery), то воспользуйтесь решением Demilio.

Herbert Van-Vliet Herbert Van-Vliet
23 дек. 2017 г. 21:49:49

как это сделать, если я использую атрибут "data" для заполнения select?

Zorox Zorox
13 янв. 2019 г. 07:57:19

Пример реализации можно посмотреть здесь.

nmr nmr
20 февр. 2023 г. 15:53:17

Это работает, но не так, как ожидал автор вопроса. Автор ожидает решение, в котором элемент <select> в браузере содержит как видимый текст, так и скрытое значение, и при отправке формы на сервер будет отправляться скрытое значение. Однако в CF7 при использовании символа pipe фактически создается только видимое значение в элементе <select>, но когда видимый текст отправляется с формой, CF7 заменяет его на скрытое значение перед генерацией email или сохранением записи.

Brett Donald Brett Donald
13 апр. 2023 г. 00:47:56
Показать остальные 1 комментариев
1

Я решил эту проблему, сначала опубликовав стандартную форму Contact Form 7, затем скопировал исходный код, созданный из всех шорткодов Contact Form 7. После этого вместо использования шорткода в качестве тега <select>, я использовал реальный тег <select> с тегами <option> внутри. Таким образом, я смог использовать движок Contact Form 7 и одновременно установить свои собственные значения и текст в тегах <option>...

21 июн. 2012 г. 20:59:32
Комментарии

Разве это не помешает вам использовать значения в письме? Если вы создаете флажок в HTML с name="mybox", я не думаю, что [mybox] в письме сработает, верно?

Jules Jules
22 янв. 2021 г. 10:18:52