非同期で画面遷移なしでサーバーと連携するにはXMLHttpRequestで普通にできるのですが、ファイルアップロードではどうしても旨くいきません。
prototype.jsのForm.serialize()ならいけそうなのですが、訳あってそれが利用できない場合は?
通常、Formから送信(submit)すると画面が遷移してしまうのですがformタグのtarget属性とiframeを利用すればとりあえず画面遷移しなくてもいけそうです。例えば同一ページで以下のようにコーディングする。
<form name="myForm" action="xxx.cgi" target="test" method="post" enctype="multipart/form-data" >
<!–input等のタグ–>
</form>
/* アクションの戻り先 表示したければdisplay:block */
<iframe name="test" style="display:none;"></iframe>
このようにすれば画面遷移することなく同一ページ内での操作が可能です。modal dialogのような操作をする場合にはとりあえずこれでいけるのでしょうか。