私はDojo Toolkitを使用して、Dojo Toolkitと日本語の両方の学習に役立つSRSを作成しています。dijit.Editorに日本語の文字が表示されない
SRSを知らない人は、基本的にフラッシュカードシステムです。
私はレビューするカードのデッキを選ぶことができるサイドバーがあります。リストからデッキをクリックすると、TabContainer
に新しいタブが開き、2つのContentPane
が含まれています。
一つContentPane
は現在url
ファイルjson
へとItemFileWriteStore
を使用していますDataGrid
が含まれています。
json
ファイルid
、question
とanswer
をpossesing各項目にDataGrid
ための項目を含みます。
id
は現在のところinteger
の値であり、question
とanswer
は日本語の文字列を含んでいます。
アイデアはDataGrid
内の行をクリックすると、DataGrid
を含む1以下ContentPane
それがdijit.Editor
に置き換え内容だ持つべきであるということです。
交換前のContentPane
の元の内容は、単にClick on the rows in the grid above to edit a card's details
という単純な文字列です。
dijit.Editor
をプログラムで作成していて、DataGrid
の行から日本語の文字列を入力しようとするまで、すべて正常に動作します。
これはDataGrid
行の情報を取得し、dijit.Editor
を作成私はJavaScriptである:上記のコードは作成
(grid
がDataGrid
オブジェクトであり、card_details
はContentPane
のid
ある)
dojo.connect(grid, 'onRowClick', function(e) {
var id = grid.getItem(e.rowIndex).id;
var question = grid.getItem(e.rowIndex).question;
var answer = grid.getItem(e.rowIndex).answer;
dojo.byId('card_details').innerHTML = '';
var editor = new dijit.Editor({
id: 'editor',
value: question
}, dojo.byId('card_details'));
});
dijit.Editor
はContentPane
にありますが、question
変数に格納されている値では入力されません(変数にログを記録し、アラートしています。期待値)。
しかし、My String
のようなリテラル文字列、または反乱者
のような日本語の変数で変数を置き換えても問題ありません。
私が交換した場合それも動作します:var question = grid.getItem(e.rowIndex).question;
と:それはgrid.getItem(e.rowIndex).question
経由での値が代入されたときquestion
変数を使用している場合、それは動作しませんなぜvar question = '反乱者';
誰もが知っていますか?
私はまだDojo Toolkitについては初心者ですので、明らかに何かが必要なはずです。
助けていただけたら幸いです!