具有最多行数和每行最多字符的Textarea

时间:2018-10-02 17:01:20

标签: javascript extjs extjs6

我遇到一个需要开发textarea的问题,其中行数必须为10,每行最大字符数-15。一旦输入第16个字符,它就必须移至下一个字符行。

我们不能输入超过10行。这就是我想要做的。

Onchange侦听器。我正在尝试限制用户输入15个字符,但这没有发生。下面是我的代码。任何建议都会有帮助。

Ext.create('Ext.form.FormPanel', {
    title      : 'Sample TextArea',
    width      : 400,
    bodyPadding: 10,
    renderTo   : Ext.getBody(),
    items: [{
        xtype     : 'textareafield',
        grow      : true,
        name      : 'message',
        fieldLabel: 'Message',
        anchor    : '100%',
        listeners : {
            change : function(val,b){
                debugger;
                var text = val.getValue();
                var lines = text.split(/(\r\n|\n|\r)/gm); 
                 for (var i = 0; i < lines.length; i++) {
                    if (lines[i].length > 10) {
                        lines[i] = lines[i].substring(0, 10);
                    }
                }
                     text = lines.join('');
                //alert(val.value)
            }
        }
    }]
});

在这里,我要求每行的字符数,而行数是文本区域。

1 个答案:

答案 0 :(得分:2)

作为免责声明,这种类型的解决方案(针对更改侦听器)容易出现复杂的问题:输入内容的方法有很多,例如将内容拖放到文本字段,复制/粘贴等。但是这里是带有某种注释的某种可行的解决方案:

     public function login(loginRequest $request )
    {
    if ( Auth()->attempt(['email' => $request->Username, 'password' => $request- 
    >Password], $request->remember) ) {
    //return redirect()->intended( url('dashboard') );
   // the correct answer is
    return redirect('/dashboard');
    }
    return redirect($this->redirect);