プロが教える店舗&オフィスのセキュリティ対策術

先週まで、IE5.0でHTMLを書いておりました。
今週なんとなくIE5.5 SP2にバージョンアップしました。

そしたら、以下の部分が動作しなくなってしまいました。
-----------------------------------
<INPUT TYPE="FILE" READONLY="true">
-----------------------------------
前任者が作成したソースですので、記述に誤りがあるかもしれませんが、
IE4.0、IE5.0では何も問題なく動作しております。

しかしIE5.5だと、ファイル参照のボタンは表示されているのですが、
クリックしても何の反応もありません。
ちなみにREADONLY属性を取り除くと、ファイル選択ダイアログが表示されました。

しかし、ファイルを選択した後サーバへアップロードしており、
アップロードされたファイル名をデータベースに書き込む処理がありますので、
万が一、アップロード後にファイル名が書き換えられてしまうと、
サーバとデータベースとの整合が取れなくなってしまう為、
どうしても編集不可にしたいのです。

どなたかご存知の方が見えましたらご教授願います。
IE5.5では、<INPUT TYPE="FILE">にREADONLY属性は使えないのでしょうか?
また、別の方法での対処方法などはないでしょうか?

A 回答 (1件)

> どうしても編集不可にしたいのです。



JavaScript で、その INPUT にフォーカスが当ったときに、フォーカスを
無理矢理移動してしまう、っていうのはどうでしょうね。

<script type="text/JavaScript">
function remove_focus(f) {
f.blur();
}
</script>

<form>
<input type=file onFocus="remove_focus(this)">
</form>


でもね、

> しかし、ファイルを選択した後サーバへアップロードしており、
> アップロードされたファイル名をデータベースに書き込む処理がありますので、
> 万が一、アップロード後にファイル名が書き換えられてしまうと、
> サーバとデータベースとの整合が取れなくなってしまう為、
> どうしても編集不可にしたいのです。

ローカルなファイルに落ちているのだから、エクスプローラやファイル選択の
ダイアログでファイル名を変えることができちゃうので、INPUT だけを編集不可
にしても、あまり解決になっているとは思えません。

# 余計なお世話ですね m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!