2011-06-03 67 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縮小可能的輸入。