2009-12-17 4 views
1

exécutant le code suivant:dijit Form toJson retourne objet vide pour dijit.form.DateTextBox

dojo.toJson(formSearch.attr("value")); 

Semble sérialiser la valeur des dijit.form.DateTextBox contrôles. En regardant dans Firebug, je peux voir que formSearch.attr("value")) retourne l'objet DOM approprié qui contient la valeur que la commande est réglée, mais lorsque je tente de sérialisation, je reçois quelque chose comme:

{"startDate":{}} 

Répondre

2

L'attribut value d'un dijit.form.DateTextBox est de type Date. C'est utile pour manipuler les dates de JavaScript, mais par défaut il n'y a pas de sérialiseur pour les dates à JSON. Si vous souhaitez obtenir la valeur du widget pour la sérialisation, utilisez dijit.form.DateTextBox.serialize(), ce qui vous donnera la valeur sous forme de chaîne.

Si vous utilisez le DateTextBox dans un ou un dijit.form.Form, la sérialisation devrait vous arriver sur submit.

+0

Vous avez raison qu'il est sérialisé sur le formulaire de soumission, mais je voulais xhr POST comme JSON parce que j'avais des problèmes avec d'autres composants et leurs valeurs (http://stackoverflow.com/questions/1908121/value-of -dojox-checkedmultiselect-not-being-posted-avec-dojo-xhrpost). Mais cela a du sens ... Alors merci pour la réponse. – Kitson

Questions connexes