0

ユーザーがextjsの数値フィールドにアルファベットを入力しようとしたときにメッセージを送信したい. 私のコードは次のとおりです。

txtDecDHR = Ext.create('Ext.form.field.Number', {
    width: 320,
    hideTrigger: true,
    keyNavEnabled: false,
    mouseWheelEnabled: false,
    value:'10.69',
    labelWidth: 100,
    style: {
            marginLeft: '10px',
                marginTop: '2px'
        },
    fieldLabel: 'Number*',
});

同じことで私を助けてください

;

4

2 に答える 2

1

ExtJS 数値フィールドは、数値以外の値を入力できないように設計されています。したがって、入力できる唯一の文字は E です。これは、10E38 (その後、10^38 に変換される) のようなものを入力することが許可されているためです。ただし、この方法では数値フィールドをだまして E だけを残すことができますが、これはもちろん有効な数値ではありません。その場合のデフォルトのメッセージは「このフィールドの値は無効です」で、プロパティの値を設定することで変更できますinvalidText

以下も参照してください。

于 2013-10-04T19:06:23.047 に答える
1

例を見つけてください。

Ext.onReady(関数(){

txtDecDHR = Ext.create('Ext.form.field.Number',

{

width: 320,

hideTrigger: true,

enableKeyEvents:true,

keyNavEnabled: false,

mouseWheelEnabled: false,

 listeners:{

    keyup:function( field, event ){

           var keyNum=parseInt(event.getCharCode());

           if(keyNum>47 && keyNum <58 || keyNum>95 && keyNum<106 ){

               alert("Number");

             }
                else{
               alert("alphabet or special character");


               }

          }

    },

value:'10.69',

renderTo:document.body,

labelWidth: 100,

style: {

        marginLeft: '10px',

            marginTop: '2px'

    },

fieldLabel: 'Number*'

});

});

于 2013-10-04T12:35:45.117 に答える