GravityForms上的自定义输入名称

时间:2012-12-04 21:58:22

标签: html forms wordpress input gravity

如何为重力表单添加自定义输入名称?我需要向需要非常具体的表单名称的第三方服务提交表单。

我目前的想法是编写一些jQuery来在页面加载时动态重命名所有内容。显然这不太理想。

重力形式:http://www.gravityforms.com/

4 个答案:

答案 0 :(得分:3)

在联系Gravity Forms的制造商之后,听起来他们不支持自定义输入名称。作为一种解决方法,我写了一些jQuery来使用正确的表单名重命名输入。例如:

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

答案 1 :(得分:1)

我可以使用以下钩子修改表单属性:

http://www.gravityhelp.com/documentation/page/Gform_field_input

答案 2 :(得分:0)

检查出来,它对我有用!只需在functions.php中放入一些代码并填写表单,然后通过电子邮件向您发送一个id名称列表,它们与使用开发人员工具等可以使用的名称相同。这对我来说速度更快。然后更改代码以通过curl发布不同的输入名称。 这使用php,因此它可以在服务器上处理。这样你就不必担心浏览器中禁用了JS的人。

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

答案 3 :(得分:0)

添加一个新字段(HTML 字段)。在此字段的内容设置中添加带有脚本标签的 javascript

非 jquery 解决方案:

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

我在这里找到的另一个解决方案

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 );