WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

WEBシステム開発/Ajax/Dojoのdijit.form.FilteringSelectにてresetエラー

PHPでAjaxシステムを開発する場合、その選択肢はたくさんありますが
大規模なシステムの場合は、ある程度完成されたDojoを利用しています。

Zend Frameworkが1.6からサポートをしたのを期に
今後は何も指定がない限りPHPの場合はDojoにて開発を行う方針です。

さて、肝心のDojoですが、誰でも簡単に多くの機能を簡単に
利用することができます。

ただ、単発にて利用する上では、サンプル、デモなどで
大体の使い方が分かるのですが

こと、ページの画面全体をDojoにて開発を行う場合
その組み合わせについて、日本語の情報がまだまだ不足しているのも
まだまだDojoの普及が浸透しない理由でしょうかね。

まあ、そもそも一般的なサイトにはAjaxそのものの利用頻度がありませんが…

また、普段使いなれたHTMLのフォームと使い勝手が若干異なるのも
問題になりそうですね。

たとえば、純粋なフォームのSelectボックスが、コンボボックスとFilteringSelect
しか見当たらない…

この二つは、選択している項目の値を変更できるすぐれものなのですが
選択だけさせて、変更はさせたくない場合?どのようにすればいいのかわかりません。。。

この解決方法、セレクトボックスについては後日


話は戻りますがFilteringSelectについて
値を選択後
初期化するresetボタンを選択すると、無効なデータエラーとなってしまいます。

うーん、実に不思議ですね。


いろいろとネットを検索してみると
下記の対応方法がありました。

他にももっといい方法があると思いますが
とりあえずは、resetボタンが押されたら、resetの前に下記のコードにて
値をnull設定すれば解決しております。


dijit.byId(‘selectbox’).attr(‘value’, null);