input type=file は、いろいろと不便。
たとえば、
・ボタンにCSSがきいてくれない
・きちんとしたパスになっていないとsubmitできない
なんとかならんかなーと調べてみたところ、良い例を発見。
リンク切れたら悲しいので、要点をメモ。
(1) file(ID=upload)を非表示(style=”display:none”)にする
(2) text(ID=txt)とbuttonを並べておく
(3) fileのonchangeで、textのvalueにfileのvalueをセット
(fileで、onchange=”txt.value = this.value”)
(4) buttonのonclickで、fileをclickする
(buttonで、onclick=”upload.click()”)
こういう方針でやれば、見た目はもちろん、validationいれたり、色々できるなー。