Maris-S Posted August 22, 2008 Report Share Posted August 22, 2008 Atklāju vienu problēmu safari (apple mac) pārlūkā. No vienas puses pat loģiski, bet pagalam nederīga šitāda loģika. Lieta tāda ka ja izveido formu un formai pieliek kādus laukus (nemēģināju ar dažāda tipa laukiem, bet ar file tipu gan šitā ir) un tad sūtot formu (tātad onsubmit) šim faila tipa laukam uzliek display:none, tad fails vienkārši nenosūtās (uploads nenotiek), jo nav jau ko sūtīt, fails ta noslēpts. Testam kods: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Upload</title> <script type="text/javascript"> function getElement (id) { if (document.getElementById) return document.getElementById(id); else if (document.all) return document.all[id]; else if (document.lyers) return document.lyers[id]; else return null; } </script> </head> <body style="margin: 15px"> <pre> <?php print_r($_FILES); ?> </pre> <form name="upload_form" action="" method="post" enctype="multipart/form-data" onsubmit="java script: getElement('file_field_id').style.display='none'; getElement('uploading_msg_id').style.display='block';"> <div> <input type="hidden" name="MAX_FILE_SIZE" value="104857600"> <input type="file" id="file_field_id" size="35" name="uploaded_file" value=""><br> <input type="submit" name="submit_upload" value="OK" onclick="java script: if (document.upload_form.uploaded_file.value.length==0) { alert('Please choose file.'); return false; }"> </div> <div id="uploading_msg_id" style="position: relative; top: -46px; display: none">Uploading, please wait.....</div> </form> </body> </html> Varbūt kāds jau ir mēģinājis šo problēmu apiet, varbūt var padalīties risinājumā? Tas vajadzīgs vienkārši lai faila izvēles lauciņa vietā parādās uzraksts ka fails tiek uploadēts, vienkārši negribās tagad iet visai lapai cauri un likt kaut kādus abolute pozicionētus divus pa virsu, neslēpjot faila lauku, un katrā vietā rēķināt koordinātes, ja nu kaut kas izmainās. Var protams to 'uploading.....' likt jebkur lapā, bet nomainīt lauciņu ir daudz smukāk. Link to comment Share on other sites More sharing options...
andrisp Posted August 22, 2008 Report Share Posted August 22, 2008 Hmm, variants vārētu būt norādīt position: absolute (tiks izrauts no pārējo elementu "plūsmas") un tad left: -9999px; Link to comment Share on other sites More sharing options...
Maris-S Posted August 22, 2008 Author Report Share Posted August 22, 2008 Andrisp, paldies, šitas variants smuki nostrādāja, gatavs kods varētu būt, piemēram, šāds (mainījās tikai formas daļa): <form name="upload_form" action="" method="post" enctype="multipart/form-data" onsubmit=" java script: getElement('file_field_id').style.position='absolute'; getElement('file_field_id').style.left='-10000px'; getElement('msg_id').style.display='block'; " > <input type="hidden" name="MAX_FILE_SIZE" value="104857600"> <div id="file_field_container_id"> <div id="msg_id" style="display: none">Uploading, please wait.....</div> <input type="file" id="file_field_id" size="35" name="uploaded_file" value=""> </div> <input type="submit" name="submit_upload" value="OK" onclick="java script: if (document.upload_form.uploaded_file.value.length==0) { alert('Please choose file.'); return false; }"> </form> Link to comment Share on other sites More sharing options...
Recommended Posts