我将如何格式化 Zend_Form_Element_Radio 以便标签跟随输入?

2023-11-24

Zend_Form_Element_Radio 的默认装饰器是

<label for="type_id-1"><input type="radio" name="type_id" id="type_id-1" value="1">Pack</label>

The label标签包裹着input标签。相反,我想看起来像

<input type="radio" name="type_id" id="type_id-1" value="1"><label for="type_id-1">Pack</label>

我认为这可能与元素的“标签”有关,但这是不同的。即使使用以下代码,我仍然得到包裹收音机的标签。当我使用这个表单代码时。

public function init()
{
    parent::init();

    $this->setName('createdomain');

    $type_id = new Zend_Form_Element_Radio('type_id');
    $type_id->setLabel('Please Choose')
            ->setRequired()
            ->setMultiOptions(array('m' => "male", 'f' => 'female'));

    $this->addElement($type_id);

    $this->setElementDecorators(array(
    'ViewHelper',
     array('Label',array('placement' => 'APPEND')),
));       
}

我得到这个 HTML 结果

<form id="createdomain" enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form">
<label for="type_id-m"><input type="radio" name="type_id" id="type_id-m" value="m">male</label><br />
<label for="type_id-f"><input type="radio" name="type_id" id="type_id-f" value="f">female</label>
<label for="type_id" class="required">Please Choose</label></dl>
</form>

注意如何有一个label标签包裹着input tag?


我创建了一个名为 MyLib_View_Helper_FormRadio 的自定义视图助手(因此,如果您的引导这样做,它会自动调用),并覆盖并更改了第 160 行(版本 1.11)中创建单选按钮的 Zend_View_Helper_FormRadio::formRadio() 方法。


$label = '<label ' . $this->_htmlAttribs($label_attribs) . ' for="' . $optId . '">'
               . $opt_label 
               .'</label>';

        // Wrap the radios in labels
        $radio =  '<input type="' . $this->_inputType . '"'
                . ' name="' . $name . '"'
                . ' id="' . $optId . '"'
                . ' value="' . $this->view->escape($opt_value) . '"'
                . $checked
                . $disabled
                . $this->_htmlAttribs($attribs)
                . $endTag;

        if ('prepend' == $labelPlacement) {
            $radio = $label . $radio;
        }
        elseif ('append' == $labelPlacement) {
            $radio .= $label;
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我将如何格式化 Zend_Form_Element_Radio 以便标签跟随输入? 的相关文章

随机推荐

  • 拦截(并可能拒绝)Web 套接字升级请求

    我有一个 Node js 服务器 我正在向其发送 Web 套接字升级请求 此请求的授权标头包含登录信息 我需要将其与数据库条目进行比较 我不确定如何阻止 Web 套接字连接打开 直到执行数据库查询回调之后 以下是我目前正在做的事情的简化 v
  • 如何用Qt QPainter绘制线性渐变圆弧?

    我正在尝试开发自定义QProgressBar如下图所示 我创建了一个扩展 QProgressBar 的类并实现了 PaintEvent void CircularProgressBar paintEvent QPaintEvent int
  • 如何从 Java 调用 Excel 电子表格中的 VBA 代码?

    我有一个包含大量 VBA 代码的 Excel 文件 当在 Excel 中打开文档时 用户可以调用 4 个不带参数的公共子例程 这些子例程根据需要操作各个工作表中的数据 我们有一个大型 Java 应用程序 我们希望通过从 Java 环境调用宏
  • 在 Java 中使用长字符串(heredocs) - 可读的方法? [复制]

    这个问题在这里已经有答案了 我需要在 Java 中处理包含换行符的长字符串 这些是用于 HTML 生成的 但这里并不是最重要的 我知道 Java 的缺陷是它所没有的heredocs 但我还可以使用其他机制 1 字符串级联 或 StringB
  • 有人能给我一个node.js应用程序的例子吗

    我试图了解现有的一些较新的 Web 编程框架 即 Node js Rails 和 Sinatra 之间的差异 有人能给我一个最适合每个框架的应用程序示例吗 也就是说 什么是最适合 Node js 而不是 Rails 或 Sinatra 的应
  • Pandas 可以绘制日期直方图吗?

    我已经将我的系列强制转换为 dtype 的日期时间列datetime64 ns 虽然只需要一天的分辨率 不知道如何改变 import pandas as pd df pd read csv somefile csv column df da
  • UIScrollView 缩放后如何重置?

    我有一个正在绘制的图表UIScrollView 是一大块UIView使用自定义子类CATiledLayer作为它的层 当我放大和缩小时UIScrollView 我希望图表能够动态调整大小 就像我从viewForZoomingInScroll
  • 使用 MPMoviePlayerController 禁用 AirPlay

    我有一个实例MPMoviePlayerController它被用来在 iPhone 应用程序上显示一些实时流媒体视频 这工作正常 但我希望删除所有 AirPlay 功能 可以肯定的是 我专门禁用了 AirPlay 如下所示 if self
  • Hibernate 将 NULL 值粘贴到列表中

    我继承了一些使用 Hibernate 的 Java 代码 一些使用此代码的人现在报告说他们到处都遇到 NullPointerExceptions 我已经能够追踪到这一点 发现当我们执行一个从数据库中提取对象列表的查询时 该查询有一个对象列表
  • 如何在 ASP.NET MVC 视图中对 HTML 列表项进行分组?

    我在视图中有这段代码 ul foreach var tag in Model li a href Post Tag tag Id tag Name a li ul 现在我需要按第一个字符对列表项进行分组 例如 A Apple Ant C C
  • 如何使用 Gradle 在 Windows cmd 中执行命令?

    我正在尝试使用 Gradle 执行此命令 build build exe parse p 246 o strings xml bcg novalidate l 1033 sr LbaRoot settings default lss def
  • 计划任务或Windows服务

    我的团队正在争论哪个更好 Windows 服务还是计划任务 我们有一台专门运行作业的服务器 目前它们都是计划任务 有些作业获取文件 重命名它们并将它们放置在网络上的其他目录中 其他作业从 SQL 中提取数据 修改数据并将其传送到其他地方 其
  • Django:MySQL 没有这样的表:aidata.django_session

    我在 Windows 7 上的 Pycharm 中运行 Django 1 4 并且安装了 WAMP 因为我需要将数据存储在 MySQL 表中 这是来自setting py DATABASES default ENGINE django db
  • 将空格转换为换行符

    是否可以使用 CSS 在每个空格上添加换行符 例如 如果我有字符串 Format It 我想像这样显示它 Format It 使用CSS 您可以使用word spacing财产 它定义了单词之间的空间 如果将其设置为容器的大小 它将强制换行
  • React Native - 当数据未更改时强制 ListView 重新渲染

    即使数据源中的数据没有更改 是否可以强制 ListView 重新渲染 我的应用程序的选项卡栏中有一个 ListView 我希望每次选择该选项卡时它都会重绘 无论数据是否相同或已更改 this state data props data da
  • 传递数据到node + express中查看

    我正在使用我的节点应用程序从 API 检索一些数据 并希望在视图中显示该数据并允许用户在那里更改它 我正在调用 api 并获得一个 JSON 响应 我想将其传递到视图上 这就是我正在做的 var query SELECT Id OwnerI
  • Android 蓝牙 StartDiscovery() 始终返回 false

    我试图发现附近的蓝牙设备 但 startDiscovery 总是返回 false 就好像它不起作用一样 因此它无法找到设备 我发现除了蓝牙和蓝牙管理之外 我还必须包含 Coarse Location 权限 但无论如何 它不起作用 这是我现在
  • 如何尝试捕获未找到的程序集

    好的 假设我有一个这样的应用程序 using System using AliensExist some DLL which can t be found 我想要的是 如果找不到程序集 DLL AlienExist 应用程序不会返回错误 而
  • 有趣的NLP/机器学习风格项目——分析隐私政策

    我想就分配给我的一个有趣问题提供一些意见 任务是分析数百个甚至数千个隐私政策并确定它们的核心特征 例如 他们是否获取用户的位置 他们是否与第三方共享 出售 等等 我和一些人交谈过 阅读了很多有关隐私政策的内容 并且自己也思考过这个问题 这是
  • 我将如何格式化 Zend_Form_Element_Radio 以便标签跟随输入?

    Zend Form Element Radio 的默认装饰器是