onsumit表示送出表單的動作,此時送出已經開始了。是以即使你return false也隻能阻止一個動作的發生,而這個送出動作也無可避免地已經在進行中或将要完成。
解決辦法:
去除form标簽上的onsubmit
在送出按鈕上加上onclick方法:
例如:
<input type="button" value="送出" name="">
在checkForm中處理邏輯,控制送出。
form對象.submit();//送出表單
例如:
//表單送出驗證
function checkForm(){
/*
隻有有一個對象的isUplod為false;
controller都為fasle;
隻有當所有對象的isUplod為true時,
controller才為true
*/
//控制是否上傳完畢 預設為fasle
var controller = true;
for(var i=0;i<input_files.length;i++){
if(!input_files[i].isUplod){
controller=false;
}
if(controller){
alert("所有圖檔上傳完畢");
//表單送出
document.getElementById("ceshi").submit();
}else{
//處理
alert("還有圖檔未上傳完");
return false;
本文轉自 沉迷學習中 51CTO部落格,原文連結:http://blog.51cto.com/12907581/1966269,如需轉載請自行聯系原作者