2016-12-07 9 views
2

を停止します。は、私は、このフォームの送信を持っているファイルのアップロード

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();'実際にはfalseを返します。 – 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()。 1つは、iframeに送信するか、ajaxを使用して適切に使用することでアップロードする必要があります。

関連する問題