formのenctypeの変更

http://d.hatena.ne.jp/babydaemons/20080520/1211278047 でファイルをアップロードするときにenctypeに"multipart/form-data"を指定することを書いたが、逆にアップロードしない場合はクラシックASPのRequest.Formでフォームの情報が読めなくなるので、"multipart/form-data"をenctypeに指定できない。

では、アップロードするときにのみenctypeを再設定するようにすれば良いはずだが、IEでは再設定されていないような振る舞いだった。

function upload() {
    var myForm = document.getElementById("myForm");
    myForm.enctype = "multipart/form-data"; // これで良いはずなんだけど…
    myForm.action = "upload.asp";
    myForm.submit();
}

仕方ないのでフォームを2つ使うように作り変えたが、画面仕様的には見た目フォームひとつなので、CSSでstyle="position:relative;top:-100px;left:-100px"とかやってつじつま合わせした。

なんだかなー。