Php 如何使用挂钩编辑重力形状?
我正在制作一个简单的电子邮件注册表单,希望删除gravity表单中的所有膨胀。我知道我无法摆脱一些javascript,但我希望能够在不使用ul的情况下使用表单,删除标题和描述,等等 下面是电子邮件注册的静态html版本的样子(我使用的是Bootstrap3): 如何使我的重力形态从:Php 如何使用挂钩编辑重力形状?,php,wordpress,twitter-bootstrap-3,gravity-forms-plugin,Php,Wordpress,Twitter Bootstrap 3,Gravity Forms Plugin,我正在制作一个简单的电子邮件注册表单,希望删除gravity表单中的所有膨胀。我知道我无法摆脱一些javascript,但我希望能够在不使用ul的情况下使用表单,删除标题和描述,等等 下面是电子邮件注册的静态html版本的样子(我使用的是Bootstrap3): 如何使我的重力形态从: <div class="gf_browser_chrome gform_wrapper" id="gform_wrapper_2"><form method="post" enctype="m
<div class="gf_browser_chrome gform_wrapper" id="gform_wrapper_2"><form method="post" enctype="multipart/form-data" id="gform_2" action="/exrnawp/" class="form-horizontal">
<div class="gform_heading">
<span class="gform_description"></span>
</div>
<div class="gform_body">
<ul id="gform_fields_2" class="gform_fields top_label description_below"><li id="field_2_1" class="gfield gfield_contains_required"><label class="gfield_label" for="input_2_1">Email<span class="gfield_required">*</span></label><div class="ginput_container"><input name="input_1" id="input_2_1" type="email" value="" class="medium" placeholder="Email Newsletter"></div></li>
</ul></div>
<div class="gform_footer top_label"> <input type="submit" id="gform_submit_button_2" class="button gform_button" value="Get Updates!" onclick="if(window["gf_submitting_2"]){return false;} if( !jQuery("#gform_2")[0].checkValidity || jQuery("#gform_2")[0].checkValidity()){window["gf_submitting_2"]=true;} ">
<input type="hidden" class="gform_hidden" name="is_submit_2" value="1">
<input type="hidden" class="gform_hidden" name="gform_submit" value="2">
<input type="hidden" class="gform_hidden" name="gform_unique_id" value="">
<input type="hidden" class="gform_hidden" name="state_2" value="WyJhOjA6e30iLCIxNTU1YWU5Yzg1OGIxMDQ3ZGY5ZGZlZGU2MzA1ODNlMSJd">
<input type="hidden" class="gform_hidden" name="gform_target_page_number_2" id="gform_target_page_number_2" value="0">
<input type="hidden" class="gform_hidden" name="gform_source_page_number_2" id="gform_source_page_number_2" value="1">
<input type="hidden" name="gform_field_values" value="">
</div>
</form>
</div>
电子邮件*
对此:
<form class="form-inline" role="form">
<div class="form-group">
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="Email Newsletter">
</div>
<button type="submit" class="btn btn-warning pull-right"><strong>SIGN UP</strong> </button>
</form>
注册
删除标题和描述HTML应该非常简单,只要在[gravityform]快捷码上为“标题”和“描述”属性传递“false”,或者在gravity_form()函数上传递它们的等效属性(如果您手动调用它)
如果您打算让Gravity表单处理表单的提交,您需要保留大部分(如果不是全部的话)隐藏字段,这些字段用于让GF识别实际提交的Gravity表单(而不是其他表单和任何对您站点的POST请求)
如果您感到很兴奋,可以通过“gform\u get\u form\u filter”钩子完全重写表单的整个输出。它没有文档化,但它将整个表单标记作为字符串和$form对象传递。我最终使用了jquery,这很好,但不是最有效的方法
<script>
$(document).ready(function(){
$( ".gform_body" ).replaceWith( "<div class='form-group'><input name='input_1' id='input_2_1' type='email' value='' class='medium form-control' placeholder='Email Newsletter'></div>" );
$('#gform_submit_button_2').addClass('btn btn-warning pull-right');
});
</script>
$(文档).ready(函数(){
$(“.gform_body”)。替换为(“”);
$('gform_submit_button_2').addClass('btn btn warning pull right');
});
我知道这是一篇非常古老的帖子,但由于关于这件事的文档很差,人们可能会在这里寻找答案(就像我一样),我想我会分享我最终采用的方法
因此,我所做的是使用PHP的类从.gform_主体和.gform_页脚容器以及ul元素中清理表单。然后,事情变得更加简单,因为您可以使用Gravity表单的本机过滤器,并修改字段
要获得更详细的描述,这里是我的教程,介绍如何使用 谢谢你的回复。我需要处理gform\u get\u form\u过滤器。你曾经用这种方式成功地编写过自己的GF吗?我没有用它来创建自定义表单标记。通常,当某些条件不满足时,我会使用它来隐藏表单(例如:)。据我所知,您不能以这种方式编辑HTML。确实,如果在gform_pre_render调用中添加第二个参数,则表单将以HTML形式显示,但我找不到在将表单发送回浏览器之前对其进行实际编辑的方法。gform_pre_render允许您在呈现表单对象之前对其进行修改。gform_get_form_filter允许您在表单标记生成后修改表单标记。我很好奇您为什么要使用jQuery删除HTML输出?我能想到的删除HTML的唯一原因是要下载的内容更少。但是如果您使用jQuery,那么HTML将被下载,然后从DOM中删除,因此实际上还有更多内容需要下载和处理:您添加的jQuery。