Próbwałem do formularza z iframe dołożyć zdarzenie na onsubmit - funkcję upploading(); która ukrywałaby diva id#uploader ale wywołanie funkcji z ramki mi nie działa. Pewnie gdyby kod js do ukrycia formularza podczas przesyłania plików umieścił w ramce a nie wpliku głównym to by zadziałało ale plik do którego się odwołuję czyli upload.php ma obsługiwać tylko żadania uploadu i wyświetlania formularza.
kod strony głównej:
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <script type="text/javascript"> function requestAjax(){ var div = 'galery'; var url = 'upload.php?mode=dir'; new Ajax.Request(url, { method:'post', requestHeaders: [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache'], encoding: 'utf-8', asynchronous: 'true', onSuccess: function(transport) { var response = transport.responseText; $(div).innerHTML = response; } }); } function upploading(){ document.getElementById('uploader').style.display = 'none'; } </script> <style type="text/css"> #galery{ width:800px; height:300px; border: 1px solid #40CAFF; background-color: #DCDCDC; font-size:10px; } </style> </head> <body> <div id="uploader"> </div> </body> </html>
plik upload.php
<?php $mode = $_GET['mode']; if( $mode == 'form' ){ echo'<form action="upload.php?mode=upload" enctype="multipart/form-data" method="post"> <input type="file" name="plik"><input type="submit" value="upload"> </form>'; } if( $mode == 'upload' ){ } echo'<form action="upload.php?mode=upload" enctype="multipart/form-data" method="post" onsubmit="upploading();"> <input type="file" name="plik"><input type="submit" value="upload"> </form>'; } if( $mode == 'dir' ){ $dir = 'upload/'; } } } } } ?>