如何将自定义输入名称添加到重力形式?我需要将表单提交给需要非常具体的表单名称的第三方服务。
我目前的想法是编写一些 jQuery 来在页面加载时动态重命名所有内容。显然这并不理想。
在联系了重力表格的制造商后,听起来他们不支持自定义输入名称。作为一种解决方法,我编写了一些 jQuery 来使用正确的表单名称重命名输入。例如:
$("input#input_1_1").attr("name","first_name");
只需在functions.php中添加一些代码并填写表格,然后将通过电子邮件向您发送ID名称列表,它们与您可以使用开发人员工具等的名称相同。这对我来说更快。然后更改代码以通过 curl 使用不同的输入名称发布。
这使用php,所以它在服务器上处理。这样您就不必担心浏览器中禁用了 JS 的人。
http://0to5.com/gravity-forms-submitting-forms-to-3rd-party-applications/
添加一个新字段(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 );