【问题标题】:CakePHP - Have the label and form in Form helper on different lineCakePHP - 在不同行的表单助手中拥有标签和表单
【发布时间】:2010-04-13 23:30:44
【问题描述】:

我现在正在使用此代码
echo $form->input('用户名');

如何确保标签显示在与输入字段不同的行上?

我设法模仿了我正在尝试做的事情,只是想确保我以正确的方式使用它。
echo $form->label('用户名', '用户名');
echo $form->input('username', array('label' => false));

谢谢,
三通

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    您请求的核心是在FormHelper::input 方法创建的<label><input> 标记之间放置一个换行符。您可以通过多种方式完成此操作。可能最简单的选项如下:

    echo $form->input('User.username', array('between'=>'<br />'));
    

    或者您也可以使用纯 CSS 解决方案,例如:

    <style type="text/css">
        div.input label { display: block; }
    </style>
    <?php echo $form->input('User.username'); ?>
    

    第二个选项将使您的视图中的 PHP 更加简洁,但代价是更多潜在的布局/样式表问题。

    【讨论】:

      【解决方案2】:

      试试这个。

      <p>Username</p>    
      <?php echo $form->input('username', array('div' => false, 'label' => false)) ?>
      

      【讨论】:

      • &lt;label&gt; 标签的优点之一是单击它们的文本将光标焦点放在相应的&lt;input&gt; 上(或选中复选框或单选控件)。用段落标签替换&lt;label&gt; 会牺牲此功能。此外,删除 &lt;div&gt; 包装器可以防止 Cake 呈现其“自动”表单验证错误。您的解决方案牺牲太多以获得简单的换行符。
      猜你喜欢
      • 2013-07-15
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多