【问题标题】:HTML::FormHandler render field without labelHTML::FormHandler 呈现没有标签的字段
【发布时间】:2011-06-20 16:05:51
【问题描述】:

使用 HTML::FormHandler 公式我只想呈现表单字段的字段部分。

<div>
  my label [% form.field('name').render %] 
</div>

这会呈现字段和标签。

【问题讨论】:

    标签: perl webforms template-toolkit


    【解决方案1】:

    对于未来的搜索者:

    您可以在表单类中定义字段时设置do_label 属性。

    has_field 'name' => (
        type => 'Text'
        do_label => 0,
    );
    

    来源:HTML::FormHandler field attribute reference

    【讨论】:

      【解决方案2】:

      我在 HFH 的手册中找到了另一种方法。

      package Test::Form;
      use HTML::FormHandler::Moose;
      extends 'HTML::FormHandler';
      
      has '+name' => ( default => 'testform' );
      has '+widget_wrapper' => ( default => 'None' );
      has '+auto_fieldset' => ( default => 0 );
      has_field 'foo';
      

      【讨论】:

        【解决方案3】:

        我在渲染器检查的代码中看到:

        $self->has_flag('no_render_label')
        

        所以你需要设置这个标志。 它是如何完成的?我只能猜测。

        您没有指定您使用的是哪个小部件,如果我理解正确,您应该扩展他并创建自己的小部件。

        package HTML::FormHandler::Field::Checkbox::NoLabel;
        use HTML::FormHandler::Moose;
        extends 'HTML::FormHandler::Field::Checkbox';
        our $VERSION = '0.01';
        
        has '+no_render_label' => ( default => 1 );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-27
          • 1970-01-01
          • 2013-02-01
          • 2013-03-03
          • 1970-01-01
          • 2014-10-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多