2016-12-07 48 views
2

我有這種形式提交:停止文件上載

<form action='upload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startUpload();' > 

我試圖讓前上傳文件的大小,如果它太大停止提交。

iSize正在報告正確的文件大小,警報正在顯示,但提交仍在繼續。

一旦顯示警報,我該如何退出上傳?

function startUpload(){ 
    var iSize = ($("#myfile")[0].files[0].size/1024); 
    console.log(iSize) 
    if (iSize > 10) { 
     alert('file size to big'); 
     return; 
    } 


     document.getElementById('f1_upload_process').style.visibility = 'visible'; 
     document.getElementById('f1_upload_form').style.visibility = 'hidden'; 
     return true; 
} 

function stopUpload(success){ 
     var result = ''; 
     if (success == 1){ 
     result = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>'; 
     } 
     else { 
     result = '<span class="emsg">There was an error during file upload!<\/span><br/><br/>'; 
     } 
     document.getElementById('f1_upload_process').style.visibility = 'hidden'; 
     document.getElementById('f1_upload_form').innerHTML = result + '<label>File: <input name="myfile" type="file" size="30" /><\/label><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /><\/label>'; 
     document.getElementById('f1_upload_form').style.visibility = 'visible';  
     return true; 
} 
+0

onsubmit ='return startUpload();'並且實際上對其情況返回錯誤。 – Lain

+0

對不起,我不太清楚你的意思,請你解釋一下。謝謝 – Tom

+1

將「onsubmit ='startUpload();'」替換爲「onsubmit ='return startUpload();'」 – Lain

回答

1

你要通過對函數的返回值:

<form action='upload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return startUpload();' > 

另外一個旁註,功能stopUpload()的成功部分意義不大,如果你考慮的一種形式。 submit()發生在這個過程中。必須將其上傳到iframe或使用ajax正確使用它。