2012-05-11 3 views
2

ここでは、dojo.toJsonを使用してdijit.form.TextBoxをjson形式に変換します。入力がなければ "null"を返すが、これは ""となる。Dojo.toJson()メソッドは "null"文字列を返します

ソースコードは以下のとおりです。

// aspxのコード

<input id="name" data-dojo-type="dijit.form.TextBox" data-dojo-props="name:'name'" /> 
<button id="submitButton" data-dojo-type="dijit.form.Button" type="button"> 
    submit</button> 

// JSコード

define("views/Test", [ 
    "dojo", 
    "dojo/parser", 
    "dijit/form/Form", 
    "dijit/form/TextBox", 
    "dijit/form/Button" 
], function() { 
    dojo.declare("views.Test", null, { 

     onSubmitClick: function() { 
      var jsonData = dojo.toJson(dijit.byId("name").get("value")); // here: dijit.byId("name").get("value") is "" and jsonData is ""null"" 
     }, 

     startup: function() { 
      dojo.connect(dijit.byId("submitButton"), "onClick", this, this.onSubmitClick); 
     } 
    }); 
    return views.Test; 
}); 

次の二つの間に違いはありますか?結果はすべて

dojo.toJson("") // returns """" 
dojo.toJson(dijit.byId("XXX").get("value")) //returns ""null"" 

環境で同じではありませんので、Info:IE 8 道場バージョン:出力が""null""ではありません1.7

+1

dijit.form.Formとdojo.toJson(dijit.byId( "Name")。get( "value"))を使用したときの結果が同じであるため、 " – user1389228

+0

はいフォームとは関係ありません。私はあなたの実際の質問を理解していませんでしたが。 –

+0

このコードはページの読み込みと同時に実行されますか?または関数で?関数が呼び出されたときにその関数を呼び出すとしますか? –

答えて

0

極度の最初と極端最後の引用符はconsole.logこれらによって配置されているが"null"であり、 ""

ありあり""は、文字列オブジェクトであり、nullとは異なる空の文字列です。

+0

です。ありがとうございます。でる?私はまだそれを取得しない、あなたが助けることができますか?どうもありがとうございました。 – user1389228

関連する問題