ExtJs 数字字段

发布于 2024-10-17 04:40:11 字数 349 浏览 3 评论 0原文

我正在使用 ExtJs NumberField。好处是它可以验证只输入数字。 但我也想要一个连字符。我怎样才能编辑javascript

  var <portlet:namespace/>issueNoField = new Ext.form.NumberField({  //This takes only numbers
             fieldLabel: 'Issue No',
             width: 120,
             displayField: 'Enter no',  
             valueField:'IssNo'
         });

I am using ExtJs NumberField. The good thing is it validates that only numbers are entered.
But I want a hyphen as well. How could I go about editing the javascript

  var <portlet:namespace/>issueNoField = new Ext.form.NumberField({  //This takes only numbers
             fieldLabel: 'Issue No',
             width: 120,
             displayField: 'Enter no',  
             valueField:'IssNo'
         });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

煞人兵器 2024-10-24 04:40:11
var <portlet:namespace/>issueNoField = new Ext.form.TextField({  //This takes only numbers
  fieldLabel: 'Issue No',
  width: 120,
  regex: /[1-9-]*/
});
var <portlet:namespace/>issueNoField = new Ext.form.TextField({  //This takes only numbers
  fieldLabel: 'Issue No',
  width: 120,
  regex: /[1-9-]*/
});
我不会写诗 2024-10-24 04:40:11

使用“baseChars”选项。

     var <portlet:namespace/>issueNoField = new Ext.form.NumberField({  //This takes only numbers
         fieldLabel: 'Issue No',
         width: 120,
         displayField: 'Enter no',  
         valueField:'IssNo'
         baseChars: "0123456789-"
     });

Use "baseChars" option.

     var <portlet:namespace/>issueNoField = new Ext.form.NumberField({  //This takes only numbers
         fieldLabel: 'Issue No',
         width: 120,
         displayField: 'Enter no',  
         valueField:'IssNo'
         baseChars: "0123456789-"
     });
我们只是彼此的过ke 2024-10-24 04:40:11

尝试 Fiddle

最好使用文本字段并添加 maskRe 属性

maskRe: /^[0-9 -]$/

Try the Fiddle

Its better to use the textfield and adding the maskRe attribute as

maskRe: /^[0-9 -]$/

≈。彩虹 2024-10-24 04:40:11

连字符仅仅是传统的,如美国邮政编码 (99999-9999) 中的连字符吗?在这种情况下,您应该只接受数字输入,在到达该位置时插入连字符,并忽略任何非数字字符。

如果连字符很重要,因此“12-345”和“123-45”是不同的输入,那么您正在阅读文本而不是数字。然而,这将是一个极其不友好的系统。

Is the hyphen merely conventional, as in a US zip code (99999-9999)? In that case, you should accept only numeric input, insert the hyphen when that position is reached, and ignore any non-numeric characters.

If they hyphen is significant, so that "12-345" and "123-45" are different inputs, then you are reading text and not a number. However, that would be an extremely unfriendly system.

許願樹丅啲祈禱 2024-10-24 04:40:11

Regex 属性对我来说从来不起作用,我使用了下面的代码:

maskRe: /[1-9-]/,

The Regex attribute never worked for me, I used the code below instead:

maskRe: /[1-9-]/,
猛虎独行 2024-10-24 04:40:11
{
xtype: 'textfield',
mask: '(999) 999-9999'
}

我在这里建议的是,我们使用文本字段并为其添加一个掩码,以仅捕获所需格式的数值。

您可以根据需要屏蔽它。

例如:

'9999999999'
'999-999-9999'

更多信息 这将以您想要的格式提供电话号码

{
xtype: 'textfield',
mask: '(999) 999-9999'
}

What I'm proposing here is that we use a text field and put a mask to it to capture only numeric values in the desires format.

You can mask it according to your needs.

For Example:

'9999999999'
'999-999-9999'

More info This will give the phone number in the format you want

╰つ倒转 2024-10-24 04:40:11

只需将数字字段的 allowExponential 配置设置为 false 即可。默认情况下,它是 true 并添加 'e+-'decimalSeparator 作为有效字符。

这是真的。源码查一下源码。

Just set the allowExponential config of your numberfield to false. By default it is true and it adds 'e+-' and the decimalSeparator as valid characters.

It's true. The source check the source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文