Cuadro de selección Contact Form 7 con valor diferente al texto del contenido en la opción

21 jun 2012, 15:15:19
Vistas: 113K
Votos: 18

¿Alguien sabe cómo puedo establecer un valor diferente en las opciones de selección en el plugin Contact Form 7? Aquí hay un ejemplo del HTML que me gustaría generar:

<select>
    <option value="1">Mi coche</option>
    <option value="2">Tu coche</option>
</select>
1
Comentarios

Si no existe una solución nativa, puedes resolver esto con jQuery val(), show() y hide().

brasofilo brasofilo
21 jun 2012 16:15:32
Todas las respuestas a la pregunta 2
6
28

Parece que esto es compatible de forma nativa con Contact Form 7, simplemente no es muy obvio cómo hacer que funcione.

Aquí hay una página de documentación que explica la funcionalidad: http://contactform7.com/selectable-recipient-with-pipes/

Básicamente, todo lo que tienes que hacer es colocar los valores de la siguiente manera:

"Valor Visible|valor-real-del-formulario"

Lo que está antes del carácter de barra vertical | se mostrará en el formulario, y lo que está después será el valor real que se enviará en el formulario.

¡Espero que esto ayude!

30 oct 2012 21:16:39
Comentarios

Esto no funciona. Su documentación es incorrecta.

Solomon Closson Solomon Closson
16 sept 2015 21:25:13

@SolomonClosson En realidad esto aún funciona; solo que es un poco raro. El HTML del formulario no muestra el valor 'crudo', pero como dice el enlace al final, puedes acceder a ellos con el prefijo _raw_, por ejemplo _raw_TUCAMPO en lugar de TUCAMPO.

drzaus drzaus
4 dic 2015 04:57:53

Esto funcionará solo en el lado del servidor. Según la documentación, esto es para evitar que los valores se envíen al cliente del navegador, así que si quieres acceder al valor de la opción con JavaScript (val() de jQuery) en lugar del texto de la opción (text() de jQuery), entonces usa la solución de Demilio.

Herbert Van-Vliet Herbert Van-Vliet
23 dic 2017 21:49:49

¿cómo hacer eso si estoy usando el atributo "data" para llenar el select?

Zorox Zorox
13 ene 2019 07:57:19

Para ver un ejemplo de implementación, mira aquí.

nmr nmr
20 feb 2023 15:53:17

Esto funciona, pero no de la manera que el autor original esperaba. El autor original espera una solución en la que el elemento <select> en el navegador contenga tanto el texto visible como el valor oculto, y cuando se envíe el formulario, el valor oculto se enviaría al servidor. La forma en que CF7 funciona realmente cuando usas el carácter de barra vertical es que solo construye el valor visible en el elemento <select>, pero cuando el texto visible se envía con el formulario, CF7 luego reemplaza eso con el valor oculto antes de generar el correo electrónico o guardar la entrada.

Brett Donald Brett Donald
13 abr 2023 00:47:56
Mostrar los 1 comentarios restantes
1

Solucioné esto publicando primero el formulario estándar de Contact Form 7, luego copié el código fuente creado a partir de todos los shortcodes de Contact Form 7. Después, en lugar de usar el shortcode como la etiqueta select, usé una etiqueta select real con las opciones dentro. De esta manera pude usar el motor de Contact Form 7 y al mismo tiempo establecer mis propios valores-texto en las etiquetas option...

21 jun 2012 20:59:32
Comentarios

¿Eso no evitará que uses los valores en el correo electrónico? Si creas una casilla de verificación en HTML con name="mybox", no creo que poner [mybox] en el correo funcione, ¿o sí?

Jules Jules
22 ene 2021 10:18:52