【问题标题】:Placeholder for textarea? (ExtJS)textarea的占位符? (ExtJS)
【发布时间】:2012-02-20 10:56:56
【问题描述】:

textarea 有占位符吗? (ExtJS)

【问题讨论】:

    标签: javascript extjs extjs3


    【解决方案1】:

    Ext.form.TextArea 中有一个 emptyText 配置选项。

    文档:

    放置到空字段中的默认文本(默认为空)。注意:如果启用此字段并配置了名称,则此值将提交给服务器。

    Ext 4.2.2 的文档:

    放置到空字段中的默认文本。

    请注意,如果启用此字段,通常会将该值提交给服务器;为了防止这种情况,您可以将Ext.form.Basic.submitsubmitEmptyText 选项设置为false。

    另请注意,如果您使用inputType: 'file',则不支持emptyText,应避免使用。

    请注意,对于支持它的浏览器,设置此属性将使用 HTML 5 占位符属性,而对于不支持 HTML 5 占位符属性的旧浏览器,该值将作为原始值直接放入输入元素本身价值。这意味着旧版浏览器会混淆密码输入字段的emptyText 值。

    【讨论】:

      【解决方案2】:

      使用这个:-

      xtype: 'textfield',
      placeHolder: 'Please Enter Something'
      

      【讨论】:

        【解决方案3】:

        根据 HTML5 草稿,您可以在textarea 元素中使用placeholder 属性。这与 JavaScript 无关。你的意思是别的吗?

        浏览器对placeholder 属性的支持仍然相当有限。另一方面,如果文本区域前面有描述性标签,则很少需要在文本区域中使用占位符。

        【讨论】:

        • 它不适用于 IE7。我的意思是占位符必须是 ExtJS 库的一部分。
        【解决方案4】:

        emptyText 配置选项有效,正如@e-zinc 所指出的那样。但是,它并没有明确价值。这是一个修复。

        initComponent: function () {
            var me = this;
        
            me.on('focus', function () {
                if(!me.isDirty()) {
                    me.setValue('');
                }
            });
        
            me.callParent(arguments);
        }
        

        【讨论】:

          【解决方案5】:

          你可以使用emptyText属性

          xtype: 'textfield',
          label: 'Try KeyDown',
          emptyText: 'Press Enter/Return here...',
          name: 'email',
          animateUnderline : true
          

          【讨论】:

          • 这与第一个答案有何不同?
          • 我只是尝试分享一段代码,没有什么不同
          猜你喜欢
          • 2017-06-29
          • 2014-09-15
          • 2019-05-04
          • 2016-10-29
          • 1970-01-01
          • 2013-06-16
          • 2015-07-19
          • 2012-04-28
          相关资源
          最近更新 更多