javaスクリプトとcookie

先日から何を悩んでいるかというと、「クッキーを使用しない」の選択と「フォームの入力内容をクリアする」のとは別問題なのではないのか?なのだ。

具体的に言うと、こう。
ブログにコメントを書こうとして、コメント欄に名前やメールアドレスを記入する。デフォルトでは「クッキーを使用しない」が選択されている。これを「使用する」にした後、また思い直して「使用しない」を選択すると、せっかく入力した名前やメアドが消えてしまう。
これは自分の意に反した反応だ。私は「クッキー使用の有無」を選択しただけであって、フォーム内容をクリアしたいわけではないのだから。
個別アーカイブやコメントプレビューテンプレートのjavaスクリプトでは、当該部分はこのようになっている。

function forgetMe (f) {
  deleteCookie(‘mtcmtmail’, ‘/’, ”);
  deleteCookie(‘mtcmthome’, ‘/’, ”);
  deleteCookie(‘mtcmtauth’, ‘/’, ”);
  f.email.value = ”;
  f.author.value = ”;
  f.url.value = ”;

}

クッキーを使用しない(forgetMe)を選択した場合、「deleteCookie」によってクッキー内容を削除するとともに、「value=”」とすることによってemail・author・urlの各値に空白を代入する(赤字部分)=内容をクリアする、という記述だ。
この赤字部分3行はオフにしてもいいのはないか?と考えた。クッキーさえ削除されれば、フォーム内容までクリアする必要はないはず。なので、赤字部分の行頭に「//」を加えて、とりあえずコメントアウトにしてしまおう。

function forgetMe (f) {
  deleteCookie(‘mtcmtmail’, ‘/’, ”);
  deleteCookie(‘mtcmthome’, ‘/’, ”);
  deleteCookie(‘mtcmtauth’, ‘/’, ”);
// f.email.value = ”;
// f.author.value = ”;
// f.url.value = ”;

}

これで、意図せずに入力内容が消えてしまう恐れがなくなる。投稿後のクッキー情報も正常に動作することを確認できた。
ただ、本当にこれで不具合が起きないのかどうか、不安は残る。私の場合、投稿時にTypeKeyを使わない設定にしているのだけれど、使う設定にした場合の情報の受け渡しがどんなふうになっているのか、まだよく見ていないし、ほかの部分で影響が出るかもしれない。
一応、こうすればこうなる、ということの確認のみにして、上記スクリプトの実装はもう少し検討してからにする。



  •  

    ブログパーツの貼り付け方はこちらへ
  • 月別アーカイブ

  • あいさつ掲示板

  • メタ情報