Ads by Google

  • --.--.--(--) --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[AJAX] Javascriptでpost用フォームを動的に作成する

  • 2008.08.22(金) 06:21
PHPを最近触っていて、どうしてもgetで渡したくないという心境。
index.php?key1=aaa&key2=bbb・・・ってURLに表示されるのってどうなの?
動的にページを作成しているのに、そこへブックマークさせるべきかどうか。

ただ、ブログ等、情報ページだとリンクを張るのに直接いけるようgetのが便利だと思うけど。
でも、サービスを提供しているようなサイトでgetはちょっと考えてしまう。

そこで、postにてデータ送信できないか探していたらやっぱりあった。

残業プログラマの雑記 http://d.hatena.ne.jp/zan-gyo/20060920/1158731982

この方のソースを元に、prototype.jsを使って自分なりに作ってみた。


Class化してtyr catch でエラーをthrowできるのかどうか謎。
なんて無責任発言・・。
テストすれば良いんだけどね。
後でやってみよう。

呼び出し方は以下の通り。


どうなるかと言うと、bodyタグの閉じタグの前に、ID名「postForm」でフォームが作成されます。
こんな感じかな。



そして、submitメソッドでindex.phpにデータを送信するわけだけど、
引数に、trueかfalseを指定することができるようにした。
無指定の場合はsubmitするが、falseを指定すると、データを送信しないようにできる。
なんでかってと、prototype.jsのAjax.Requestなどでデータ送信する際に、このようにしたかったから。



オブジェクトそのものを渡せれば良いんだけど、良い方法が見つからず。
Form.serialize()を加工すれば良いんだろうか。うーむ。

そして、drop()メソッドで作成したformを削除。
Ajaxで通信した場合、ページリロードしないから同一formが沢山できてしまうという。

それにしても、prototype.jsを触りだしてからJavascriptが面白く。
仕事終わんない(笑)
コメント
コメントの投稿
管理者にだけ表示を許可する