codeigniter - 输入表单占位符

时间:2010-12-30 19:25:29

标签: codeigniter text input helper

大家好,我如何在CodeIgniter的form_input()辅助函数中使用占位符标记?

谢谢:)

4 个答案:

答案 0 :(得分:16)

您的意思是占位符属性(不是标记)吗? form_input()使用其他属性获取第三个参数。

$opts = 'placeholder="Username"';
form_input('username', '', $opts);

或者您可以传递form_input()数组。

form_input(array(
  'name' => 'username',
  'value' => '',
  'placeholder' => 'Username',
));

CodeIgniter Form Helper

答案 1 :(得分:2)

由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方法来完成占位符

答案 2 :(得分:0)

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
));

答案 3 :(得分:0)

您可以像这样设置占位符

echo form_input('username','','placeholder=username');

这将是这样的

<input type='text' name='username' placeholder='username'/>