【发布时间】:2011-06-01 17:20:25
【问题描述】:
大家好,如何在 CodeIgniter 的 form_input() 辅助函数中使用占位符标签?
谢谢:)
【问题讨论】:
标签: codeigniter text input helper
大家好,如何在 CodeIgniter 的 form_input() 辅助函数中使用占位符标签?
谢谢:)
【问题讨论】:
标签: codeigniter text input helper
你可以像这样设置占位符
echo form_input('username','','placeholder=username');
这看起来像这样
<input type='text' name='username' placeholder='username'/>
【讨论】:
IE6、IE7 和 IE8 的 Codeigniter 表单占位符
echo form_input(array(
'name' => 'stackoverflow',
'value' => 'yourplaceholder',
'placeholder' => 'yourplaceholder',
'onclick' => 'if(this.value == \'yourplaceholder\') this.value = \'\'', //IE6 IE7 IE8
'onblur' => 'if(this.value == \'\') this.value = \'yourplaceholder\'' //IE6 IE7 IE8
));
【讨论】:
Rocket 链接到的 Codeigniter 用户指南表明,除了 name 和 value 之外的属性作为数组传递给 form_input():
$data = array(
'name' => 'username',
'id' => 'username',
'value' => 'johndoe',
'maxlength' => '100',
);
echo form_input($data);
// Would produce:
<input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" />
为了扩展 Rocket 的答案,将 'placeholder'=>'my_placeholder' 传递到该数组应该会产生占位符属性。
$data = array(
'name' => 'username',
'id' => 'username',
'value' => 'johndoe',
'maxlength' => '100',
'size' => '50',
'style' => 'width:50%',
'placeholder' => 'my_placeholder'
);
echo form_input($data);
请记住,占位符 attr 是非常新的,并非所有浏览器都支持。查看 html 中心的 this article 了解 html5、jQuery 和纯 javascript 方法来完成占位符
【讨论】:
你的意思是占位符属性(不是标签)? form_input() 采用带有附加属性的第三个参数。
$opts = 'placeholder="Username"';
form_input('username', '', $opts);
或者你可以传递form_input()一个数组。
form_input(array(
'name' => 'username',
'value' => '',
'placeholder' => 'Username',
));
【讨论】: