2011-06-03 57 views
2

我遇到了NumberTextBox最大限制的麻烦。如果我使用标准标记声明并使用默认设置创建numbertextbox,例如Dojo NumberTextBox:定义最大限制

dojo.require("dijit.form.NumberTextBox");
<link href="http://ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/resources/dojo.css" rel="stylesheet" /> 
 
<link href="http://ajax.googleapis.com/ajax/libs/dojo/1.9.3/dijit/themes/claro/claro.css" rel="stylesheet" /> 
 
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/dojo.js" djConfig="parseOnLoad:true"></script> 
 

 
<body class="claro"> 
 
<input id="q05" type="text" dojoType="dijit.form.NumberTextBox" constraints="{places:0}" required="true" >

这种控制被约束为16digits的最大值。这就是问题所在。如果我需要用户输入16位以上的数字,该怎么办? 我似乎无法用约束条件来覆盖它:“{max:99999999999999999999}”(其中20个),也没有maxLength:“20”属性。

关于如何正确设置控件约束的任何想法让我们说20个数字,而不是16(现在似乎是一个限制)?

谢谢

+1

随着Javascript中的浮点实现,你不会精确到这么多数字。这个小部件没有用大的数字进行测试,我认为这个数字往往会出现往返问题,但它看起来应该能够将max设置为任何你想要的。 _setConstraintsAttr默认只使用9 * 10 ^(15-p)? – peller 2011-06-04 00:03:59

回答

0

使用ValidationTextBox和使用PROPERT regExp缩小可能的输入。