2011-01-13 5 views
1

ファイル選択フィールドを持つフォームがあります。ユーザーがフォームを送信したが、フィールドのいずれかに問題がある場合は、ファイル選択フィールドに前の選択項目が「再投入」されていると便利です。私は、ブラウザのセキュリティポリシーのためにこれは不可能だと確信していますが、恐らく私が気付いていない回避策があります。ファイル選択フォームフィールドに、ユーザーが以前に選択した内容を再入力することは可能ですか?

答えて

2

セキュリティ上の理由からできません。 JSまたはHTMLがファイルパスを設定できる場合、どのWebページでも、目に見えないファイルアップロードボックスがたくさん作成され、ハードディスクから文字どおりリーチファイルが作成される可能性があります。あなたが知らないうちに。

編集:実際には、Firefoxはabout:configでこれを有効にするオプションを持っています。しかし、デフォルトでは無効になっており、他のブラウザのAFAIKにはこのオプションがないので、それは無関係です。

また、Flashでこれを実現できるかもしれません - 普通のHTML/JSよりも高度なアップロードボックスを作成できますが、そのような制限があるかどうかはわかりません。 SWFUploadをチェックしてみてください。

+0

Firefoxのオプションは何ですか?この設定は、自動テストでは非常に便利です。 – Phyxx

4

<input type="file" ... />フィールドは、基本的にJavascriptやCSSによって触れられません。読書や書面ができるのはごくわずかですが、その一部のみが書式設定可能です。

ほとんどの場合、javascript:history.go(-1)を実行してフォームがキャッシュされていることを確認できますが、エラーメッセージを確実に表示することはできません。

任意のデータ(アップロードファイルパスなど)を入力できるようにするどんな能力も、転覆される可能性があります。

関連する問題