首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

ExtJS TextField 僅允許輸入數字且去除科學計數法上下箭頭

     編輯:程式設計疑難解答

需求:Ext.form.field.Text 或 NumberField 只能輸入數字,保留兩位小數,隱藏右側上下箭頭(spinner)。

方案一:TextField + inputType + 正則驗證

{
    xtype: 'textfield',
    inputType: 'number', // HTML5 原生數字輸入,移動端喚起數字鍵盤
    maskRe: /[\d.]/,     // 僅允許數字和小數點
    regex: /^\d+(\.\d{1,2})?$/, // 驗證:整數或最多兩位小數
    regexText: '請輸入數字,最多兩位小數',
    // 隱藏 spinner(需 CSS)
    style: '-webkit-appearance: none; margin: 0;' // 針對 WebKit
}

CSS 全局隱藏:

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] { -moz-appearance: textfield; } /* Firefox */

方案二:NumberField 隱藏 spinner

{
    xtype: 'numberfield',
    decimalPrecision: 2, // 兩位小數
    hideTrigger: true,   // ExtJS 6+ 支持隱藏觸發器
    // 若版本不支持 hideTrigger,用 CSS 隱藏 .x-form-spinner
}

建議

  • ExtJS 6.5+ 直接用 hideTrigger: true 最簡潔。
  • 舊版本需 CSS 隱藏 .x-form-spinner-up/down。
  • 嚴格驗證建議後端再次校驗,前端攔截僅為體驗優化。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved