GravityForms 上的自定义输入名称
Posted
技术标签:
【中文标题】GravityForms 上的自定义输入名称【英文标题】:Custom Input Names on GravityForms 【发布时间】:2012-11-22 15:45:52 【问题描述】:如何将自定义输入名称添加到重力表单?我需要向需要非常具体的表单名称的第三方服务提交表单。
我目前的想法是编写一些 jQuery 来在页面加载时动态重命名所有内容。显然这并不理想。
重力形式:http://www.gravityforms.com/
【问题讨论】:
GF 有一堆动作和过滤钩子,你检查过吗? 【参考方案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 );
【讨论】:
纯代码答案并不是特别有用。请添加一些关于此代码如何解决问题的描述。以上是关于GravityForms 上的自定义输入名称的主要内容,如果未能解决你的问题,请参考以下文章