TextArea问题 - 角度括号内的文本在键入时消失

时间:2018-06-14 17:45:00

标签: javascript extjs textarea

当用户输入包含尖括号的文本时,在将右括号键输入对话框中的TextArea后,文本和括号将消失。

以下是代码段:

var some_textarea = new Ext.form.TextArea({
    id: 'some_textarea',
    name: 'name',
    hiddenName: 'name',
    fieldLabel: 'Field Label',
    width: 486,
    height: 150,
    autoScroll: true,
    labelSeparator: Common.required_asterisk,
    allowBlank: false,
    blankText: 'Data is required',
    emptyClass: 'required-textfield',
    emptyText: ' ',
    msgTarget: 'under'
});

非常感谢任何关于如何允许输入尖括号(以所见即所得的方式)的想法。感谢。

3 个答案:

答案 0 :(得分:0)

我使用的是非常旧版本的ExtJs(版本3.2.1)。我得到的反馈似乎表明使用大于4.2.1版本的人没有遇到这个问题,所以我认为需要迁移到至少4.2.1作为解决这个问题的唯一方法。

答案 1 :(得分:0)

我强烈建议您升级到更高版本,但作为替代解决方案

怎么样,一个按键,检查尖括号并用[<]或其他文字转换它。在保存之前替换[]。

答案 2 :(得分:0)

在这里你可以覆盖TextArea的setValue函数和Ext.util.Format. htmlEncode这样的东西。

setValue : function(v){
    if(this.emptyText && this.el && !Ext.isEmpty(v)){
        this.el.removeClass(this.emptyClass);
    }

    v = Ext.util.Format.htmlEncode(v);

    Ext.form.TextField.superclass.setValue.apply(this, arguments);
    this.applyEmptyText();
    this.autoSize();
    return this;
},