ここでは、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
dijit.form.Formとdojo.toJson(dijit.byId( "Name")。get( "value"))を使用したときの結果が同じであるため、 " – user1389228
はいフォームとは関係ありません。私はあなたの実際の質問を理解していませんでしたが。 –
このコードはページの読み込みと同時に実行されますか?または関数で?関数が呼び出されたときにその関数を呼び出すとしますか? –