Form.serializeで複数の送信ボタン

2008/8/19 [17:40:57] (火) 天気

javascriptなんてわからないし、わからないから好かんのだけど、どうしても使わないと読書SNSのリニューアルが一からやり直しになってしまう。

なので、しかたなくあれこれごそごそと。

Ajaxでフォーム送信、このとき、フォームの中に複数の送信ボタンがあることはままよくある話だ。だけど、prototype.jsのForm.serializeだと押してもいないボタンのnameとvalueをパラメータに追加してくれる。

てことは。action=postもaction=deleteもパラメータに入るのだ。入力と削除なんて物騒なのがパラメータに同居して混じるのは困る。ぐーぐるさまに詣でる。http://d.hatena.ne.jp/susie-t/20060911/1157959024 の記事で助かった。

buttonタグで、nameを空にしておいてvalueの方にだけ入力とか削除とかいれておく。こうするとForm.serializeでパラメータにはこのボタンは入ってこない。受け側のjavascriptの関数にthisでクリックしたボタンのオブジェクトを引き渡し、パラメータに &action=obj.value(入力とか削除とか) を追加。actionなんて決め打ちするのはちょっとアレな匂いがするし、動作を決めるところをjavascriptなんかで作るのは危険なにおいもする。

とはいえ、こんなところでひっかかってるヒマもないんで、とりあえず採用。危険なところは受け側でガードを固める。

javascriptは便利なのは確かなんだけどねぇ。


どうにか、本のメモに関してはこれでやっとメドがついた、かなぁ。(まだデータベース側での設定を決めなきゃいけないけど)これ以外の書き込み更新系はAjaxを使わないフツーのページ。デバッグもやりやすいんでストレスも少ない、かな。


まともな本を読めていないってのに、「検索連動型広告を成功に導くSEM戦略」とか「ロングテールキーワードをねらえ!Googleアドワーズ&アナリティクス活用テクニック」とかロクでもない本を買ってしまう。つくづく、実体のない虚業だよなぁ、とうんざり、ていうかやるぞという気にまるでならない。「おもしろい」匂いがしないんだよなぁ。なんか無理やり商売にしようとしてないか。

生活するって大変だわ。


[17:44:49]

ちなみに、雑記帖リニューアル後、タイトルがわりと具体的なものになっているのは。SEO対策の実験ていうか。一応ブログのように、個々のタイトルをh3タグにしてみたんで、無意味なものが並ぶのもナニだなぁ、と。思いつくようだったら、タイトルは具体的なものにしてみよう、ということで。


パーフェクトJavaScript (PERFECT SERIES 4)

『パーフェクトJavaScript (PERFECT SERIES 4)』

井上 誠一郎

[更新]2026-02-04 09:43:56

<<2026/4>>
   1234
567891011
12131415161718
19202122232425
2627282930

【最近の10件】

日常読書映画アニメゲーム健康料理グルメカメラ写真ネタ仕事パソコンインターネットperlEPUB3電子書籍ActivityPub還暦生活
検索: