【发布时间】:2010-04-13 23:30:44
【问题描述】:
我现在正在使用此代码
echo $form->input('用户名');
如何确保标签显示在与输入字段不同的行上?
我设法模仿了我正在尝试做的事情,只是想确保我以正确的方式使用它。
echo $form->label('用户名', '用户名');
echo $form->input('username', array('label' => false));
谢谢,
三通
【问题讨论】:
标签: cakephp
我现在正在使用此代码
echo $form->input('用户名');
如何确保标签显示在与输入字段不同的行上?
我设法模仿了我正在尝试做的事情,只是想确保我以正确的方式使用它。
echo $form->label('用户名', '用户名');
echo $form->input('username', array('label' => false));
谢谢,
三通
【问题讨论】:
标签: cakephp
您请求的核心是在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 更加简洁,但代价是更多潜在的布局/样式表问题。
【讨论】:
试试这个。
<p>Username</p>
<?php echo $form->input('username', array('div' => false, 'label' => false)) ?>
【讨论】:
<label> 标签的优点之一是单击它们的文本将光标焦点放在相应的<input> 上(或选中复选框或单选控件)。用段落标签替换<label> 会牺牲此功能。此外,删除 <div> 包装器可以防止 Cake 呈现其“自动”表单验证错误。您的解决方案牺牲太多以获得简单的换行符。