【问题标题】:Custom Input Names on GravityFormsGravityForms 上的自定义输入名称
【发布时间】:2012-11-22 15:45:52
【问题描述】:

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

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

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

【问题讨论】:

  • GF 有一堆动作和过滤钩子,你检查过吗?

标签: html forms wordpress input gravity


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    只需在functions.php中添加一些代码并填写表格,然后将通过电子邮件向您发送ID名称列表,它们与您可以使用开发人员工具等的名称相同。这对我来说更快。然后更改代码以通过 curl 使用不同的输入名称发布。

    这使用php所以它在服务器上处理。这样您就不必担心浏览器中禁用了 JS 的人。

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

    【讨论】:

    • 这不再有效。在最新版本的 Gforms + WP 上引发错误。
    • 我将不得不再次测试,看看它是否仍然适用于我,感谢更新!
    【解决方案3】:

    添加一个新字段(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 );
    

    【讨论】:

    • 纯代码答案并不是特别有用。请添加一些关于此代码如何解决问题的描述。
    猜你喜欢
    • 2022-11-28
    • 2015-02-27
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    相关资源
    最近更新 更多