Nombres de entrada personalizados en GravityForms

2 minutos de lectura

avatar de usuario
jacobthedev

¿Cómo puedo agregar nombres de entrada personalizados a los formularios de gravedad? Necesito enviar un formulario a un servicio de terceros que requiere nombres de formulario muy específicos.

Mi idea actual es escribir un poco de jQuery para cambiar dinámicamente el nombre de todo cuando se carga la página. Obviamente esto no es lo ideal.

Formas de gravedad: http://www.gravityforms.com/

  • GF tiene un montón de ganchos de acción y filtro, ¿los has revisado?

    – brasofilo

    5 de diciembre de 2012 a las 0:26

avatar de usuario
jacobthedev

Después de contactar a los creadores de Gravity Forms, parece que no admiten nombres de entrada personalizados. Como solución alternativa, escribí un poco de jQuery para cambiar el nombre de las entradas con los nombres de formulario correctos. Por ejemplo:

$("input#input_1_1").attr("name","first_name");

avatar de usuario
ott

Simplemente coloque un código en functions.php y complete el formulario que luego le enviará por correo electrónico una lista de los nombres de identificación, son los mismos nombres que puede multar usando herramientas de desarrollo, etc. Esto fue más rápido para mí. Luego cambie el código para que se publique a través de curl con diferentes nombres de entrada.

Esto usa php, por lo que está en el servidor para manejar. De esa manera, no tiene que preocuparse por las personas con JS deshabilitado en su navegador.

http://0to5.com/gravity-forms-submitting-forms-to-3rd-party-applications/

  • Esto ya no funciona. Lanza un error en la última versión de Gforms + WP.

    – Ken Príncipe

    14/04/2015 a las 18:33

  • Tendré que probar de nuevo y ver si todavía funciona para mí, ¡gracias por la actualización!

    – ott

    15/04/2015 a las 23:07

avatar de usuario
farhat aziz

Agregar un nuevo campo (campo HTML). En la configuración de contenido de este campo, agregue este javascript con etiquetas de script

Solución sin jquery:

document.getElementById("input_14_4").setAttribute("name", "email");

Otra solución que encontré aquí

https://docs.gravityforms.com/gform_field_content/

add_filter( 'gform_field_content', function ( $field_content, $field , $value, $lead_id, $form_id) {
 if ( $form['id'] != 14 ) {
        //not the form whose tag you want to change, return the unchanged tag
        return $field_content;
    }
    if ( $field->id == 3 ) {
        return  preg_replace( "|name="(.*?)"|", "name="email"", $field_content );
    }
  
    return $field_content;
}, 10, 5 );

  • Las respuestas de solo código no son particularmente útiles. Agregue algunas descripciones de cómo este código resuelve el problema.

    – 4b0

    7 julio 2021 a las 12:35

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad