2009年2月6日金曜日

HIDDENはFORM直後がステキ。

自分の所属プロジェクトでよく見かけていたのが、
HIDDENをFORMタグ終了直前に配置するという暗黙のルール。
今まで、深く考えずにこの定例にならっていたのですが、


コレ廃止。断固廃止を宣言します。


例えば、

<form>

・・・・すんごい重い処理・・・・
・・・・すんごい長い読込・・・・

</form>


な場合、FORMの閉じタグ直前にHIDDENをおいていると、
ページを読み込み中にユーザさんが操作してしまい、そのHIDDEN項目を使用したjavascriptでエラー。
ちなみにエラー内容はnullとか、オブジェクトじゃないとか、、、
そうね。ちまたでよく見かけるぬるぽさん。

解決策としては、
①HIDDENをFORMの開始タグ直後に配置する。
②ページを読み込むまで、操作できないようにする。
とかでしょうか。


②の判定はjavascriptで

if(document.readyState!=='complete'){
alert("読み込み中");
}

とかすればいいのかな。(未テストです。)
ってか、そもそも読込やら処理やらを見直せってはなし??(汗)

できる人が書いていたソースと思っていたのですが。
こんな落とし穴もあるんですね。

あーjavascript周りを強化しないとまずい・・・・。
最近いつもjavascriptで躓く。

0 件のコメント: