テキストボックスの値を取得するために dojo.byId を実行すると、通貨ウィジェットなどの一部のウィジェットで、書式設定された値が返されるのはなぜでしょうか。
ただし、カスタムパーセントテキストボックスを作成し、NumberTextbox から継承した場合 (通貨テキストボックスウィジェットもそうです)、なんらかの理由で dojo.byId を実行すると、% が表示されているにもかかわらず、% なしの値が返されます。テキストボックス。
私はこのようなものを単体テストしようとしていますが、何らかの理由で、通貨管理のために次のようなことができました:
var formatedValue = dojo.byId("currencyTextBox").value;
doh.t(formatedValue === "$46.93", "incorrect formatting");
これは、formattedValue を確認すると、「$46.93」と表示されました。
ただし、パーセントのテキストボックスでこの同じタイプの取引を試みたとき、たとえばテキストボックスに「55%」と表示された場合、これは「55%」ではなく 55 を返します。
var formatedValue = dojo.byId("percentTextBox").value;
doh.t(formatedValue === "93%", "incorrect formatting");
そのため、dojo.byId を使用してテキストボックスの値を取得するという点で、動作が異なる理由がわかりません。(明らかに、widgetInstance.get("value"); を実行した場合、書式設定されていない生の数値のみが返されると予想されます。)