ExtJSに、数値のみを入力できるフィールドを配置したいフォームがあります。他の特殊文字(特に%記号)も無効にします。これらの特殊文字は、フィールド(basechars、regex、maskRe)にどのような制限が設定されていても、有効な入力と見なされるためです。
特殊文字を無効にする最良の方法は何ですか?
編集:明確ではないことをお詫び申し上げます。私はすでに数字フィールドを使用しており、アルファベットのすべての文字をブロックしますが、%、&、#などの特殊文字を使用できます。
私が試したこと:
numfield1 = new Ext.form.NumberField({
fieldLabel: 'numfield1',
name: 'numfield1',
baseChars: "0123456789"
});
numfield2 = new Ext.form.NumberField({
fieldLabel: 'numfield2',
name: 'numfield2',
regex: /^[0-9]*/
});
numfield3 = new Ext.form.NumberField({
fieldLabel: 'numfield3',
name: 'numfield3',
maskRe: /[0-9]/
});
これらはすべて引き続き特殊文字を許可します。フィールドには数字のみを使用し、他のすべての特殊文字は許可しないようにします。
更新:Firefoxで期待どおりに動作することがわかりましたが、問題はchromeとsafariで解決しません。誰かがこれの原因が何であるかについての考えを持っていますか?