【问题标题】:codeigniter - input form placeholdercodeigniter - 输入表单占位符
【发布时间】:2011-06-01 17:20:25
【问题描述】:

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

谢谢:)

【问题讨论】:

    标签: codeigniter text input helper


    【解决方案1】:

    你可以像这样设置占位符

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

    这看起来像这样

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

    【讨论】:

      【解决方案2】:

      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】:

        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'=&gt;'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 方法来完成占位符

        【讨论】:

        • 它应该按照建议生成标记,但事实并非如此。可能是表单辅助函数不采用新/自定义属性。
        【解决方案4】:

        你的意思是占位符属性(不是标签)? form_input() 采用带有附加属性的第三个参数。

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

        或者你可以传递form_input()一个数组。

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

        CodeIgniter Form Helper

        【讨论】:

        • 嗯,我无法让它工作:S 没有在其上放置占位符属性
        猜你喜欢
        • 2017-01-01
        • 1970-01-01
        • 2013-05-02
        • 2015-12-17
        • 2020-04-12
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 2017-04-07
        相关资源
        最近更新 更多