- PR -

JavaScriptでXMLデータ作成入力

1
投稿者投稿内容
きのこ
ぬし
会議室デビュー日: 2004/09/01
投稿数: 256
投稿日時: 2007-04-26 02:09
いつもお世話になってます。
WEBで注文入力の画面がありますが、HTMLのFORM形式ですので
いままでは1回 1回、サーバーに送ってましたが、
通信事情の悪いところでも、一時的にデータをPCやPDAに
おいておけるように考えてます。
(HTMLの場合はいったんデータをいれたらHTMLを開き続けておかないと
  入力データがすべて消えてしまうので・・)

HTML上のOBJECT上のデータ(例えばHTML FORM内のINPUTのVALUEなど)
をボタンを押したと同時にONCLICKで
JAVASCRIPTでデータとしてXMLにいれてしまいたいとおもってます。

<input name=商品><input name=個数>
でねじとか3とか入力してボタンをおしたらJAVASCRIPTで
<注文商品>ねじ</注文商品>
<注文個数>3</注文個数>

とかいうのをつくりたいと思ってます。

もちろんHTMLのFORMとJAVASCRIPTを使って
JAVASCRIPTでTEXTとFILE操作で強引にかけなくはないですが
もっといいやりかたがあればと思ってます。

営業が担当する顧客とその顧客の売筋商品のみをRDBからとりだしてXML化し、
それをPCやPDAでいれておいて、
XMLとXSLTで入力ホームを作成して、PCやPDAの使用者がそれに情報入力。
XMLのデータも更新される。
それを繰り返して、通信が安定したところで
何件かの注文入力をまとめてサーバーに送信する。

という流れを考えてます。


つまり、
1.顧客x商品XMLで注文フォームを作成、
  あらかじめ顧客コード、商品コード(バーコード番号)がはいっていて
  個数欄が空白
2.注文フォームに個数、(例外がある場合は商品も)入力
3.入力されたデータから注文XMLを作成、アップデート

1つの注文XMLファイルを随時UPDATE、

4.サーバーに送信する場合はXMLをコピーして
   サーバーにデータSUBMITする。それ以降はまた1からXMLデータを
   作成していく

これらはすべてJAVASCRIPT(AJAX)で可能なのでしょうか?
その場合、PCはともかくとしてPDAにあるブラウザでは
そういった機能はPCのブラウザのように処理できるのか心配です。 

JAVASCRIPTでXMLを操作
(上記 STEP1 の読むほうは結構検索にひっかかってくるようなのですが
  STEP3 書くほうがなかなかみあたらないので不思議に思ってます。
  技術的にはできるとは思いますので、もっといいやりかたがあり
  なにかプロセス自体があまり意味がないのかもしれませんが)
 
なにかいいアドバイスがいただければ幸いです 
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-04-27 10:55
あまり参考にならないかもしれませんが、ちょっとだけ書いてみます。

引用:

JAVASCRIPTでTEXTとFILE操作で強引にかけなくはないですが


cookieに書いておくというのはどうでしょうか。
FileSystemObjectとかそうゆうのを使うのは、ちょっとどうかと思いますし。

引用:

その場合、PCはともかくとしてPDAにあるブラウザでは
そういった機能はPCのブラウザのように処理できるのか心配です。 


クライアント側でXMLを編集する必要がありますよね。
XML編集のために例えば Microsoft.XMLDOM のようなライブラリをもし使うとしたら、それがインストールされてるかどうかですよね。Windowsなら含まれてるのかな・・・。この辺わかりません。

未サブミットのデータを、次回画面表示時に復元できればいいんですよね。
だったら、onclickの都度、復元に必要な情報をcookieに保存しておけばいいだけのような気はしますが・・・。んで、サブミットしたらサーバ側でcookieをクリアするとか。
復元に必要な情報をXML形式で保存するだけであれば、XMLDOMを使うまでもない単純な編集で済みそうですし。

もっといろいろ機能の拡張を考えてるのかな。

[ メッセージ編集済み 編集者: かめたろ 編集日時 2007-04-27 10:56 ]
きのこ
ぬし
会議室デビュー日: 2004/09/01
投稿数: 256
投稿日時: 2007-05-01 00:43
かめたろさん

ありがとうございます。
そうですね、クッキーを使えばいいだけのことでした。
それでやろうと思います。
(XMLの話題でそればかり使うことを考えてしまってました。)

本当にどうもありがとうございます。

冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-05-01 10:21
折角解決した所すみませんが
引用:

きのこさんの書き込み (2007-05-01 00:43) より:
そうですね、クッキーを使えばいいだけのことでした。


確か、cookieには文字数制限(と、項目数制限)があったはずですよ。
(と思って「cookie 項目数制限」で検索してみたら出てきました。)

「Cookieがデータを記録できるのは4096バイトまで。」だそうですので、その制限に収まるデータなのでしょうか?
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-05-02 10:31
おおぅ、考慮不足でした。てか、そのこと知りませんでした・・・。
冬寂さん、フォローありがとうございます。

http://www.google.co.jp/search?hl=ja&c2coff=1&q=cookie+%E5%88%B6%E9%99%90&lr=
早速、検索して勉強しました。
認証チケットやユーザーIDの保存ぐらいにしか使ったことないので、cookieの制限を意識したことすらなかったです。

きのこさん、気をつけてくださいねぇ〜
きのこ
ぬし
会議室デビュー日: 2004/09/01
投稿数: 256
投稿日時: 2007-05-05 05:35
かめたろさん、冬寂さん

ありがとうございます。
やはり進めていくうちにそう簡単に解決ではなさそうです。
今は回線状態の悪いところでも、入力をスムーズにするために
PDAなどにも商品データベースをいれたほうがいいのではということになりました

なんでつながっているときに顧客購買履歴に応じて
商品データマスタ、在庫データ、顧客データをいれておき
それらをもとに、データをいれていくかんじですか・・

商品名をきいてネットにつながず、
商品検索して(コードなどを検索)、それに数量、単価を足して
注文データを保存していくというかんじでしょうか・

1つ目の注文商品検索して商品出して数量、値段いれて保存、
次のも同じステップで
その次のも同じステップで、とちょうどWEBでオーダーするときの
ショッピングカートのような役目を完全にPDAのローカルでサーバーと
通信せずにやらなければいけません。

見た感じDB(MS ACCESS or XML)がPDAないと難しい感じです。
ここでXMがつかえればとは思います。
Microsoft.XMLDOM があるかみてみます。

そうなるとJAVASCRIPTであつかえるデータベースである必要がでてきます。
(まあテキストでもいいかもしれませんが)
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-05-07 13:25
引用:

きのこさんの書き込み (2007-05-05 05:35) より:
そうなるとJAVASCRIPTであつかえるデータベースである必要がでてきます。
(まあテキストでもいいかもしれませんが)


これとか?
XML for script
(とはいえ、PDAで使えるか?とか分かりませんが。)
(sample codeという所があるので適当に動かしてみて下さい。)

ちょっと想像してみるに、
・データが確定した時に、(XMLHttpRequestで)小さいデータを送って通信状態を確かめる。
(PDAって使った事無いのですが、使えるのかな?)
・通信が確立されていたら送信。
・されていなかったらデータを貯める。
(とはいえ、メモリの上限は大丈夫か?)
1

スキルアップ/キャリアアップ(JOB@IT)