2016-12-07 54 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正确使用它。