2014-02-13 42 views
0

我想通過在輸入類型=文件上的回車鍵來防止表單提交。我搜索了jquery腳本來做到這一點。對於輸入類型=文本可以,但是,如果在輸入類型文件上點擊,註銷後將顯示登錄頁面。我使用jsp和jquery。並且我的瀏覽器也是,它是IE9。我的代碼有問題嗎?通過在輸入類型上單擊回車鍵來禁用表單提交 - 文件

的jQuery:

$(function(){ 
    $(window).keydown(function(event){ 
     if(event.keyCode == 13) { 
      event.preventDefault(); 
      //$('#fil_CsvImp_refer').click(); 
      return false; 
     } 
    }); 
    $("input[type=text]").keypress(function(ev) { 
     if ((ev.which && ev.which === 13) || 
      (ev.keyCode && ev.keyCode === 13)) { 
      return false; 
     } else { 
      return true; 
     } 
    }); 
    $("input[type=file]").keypress(function(ev) { 
     if ((ev.which && ev.which === 13) || 
      (ev.keyCode && ev.keyCode === 13)) { 
      return false; 
     } else { 
      return true; 
     } 
    }); 
}); 

的jsp:

<s:form action="" method="POST" name="frm_CsvImp_import" id="frm_CsvImp_import" 
enctype="multipart/form-data"> 
<s:file key="fil_CsvImp_refer" name="fil_CsvImp_refer" cssClass="mediuminput" accept=".csv" /> 
<input type="button" class="" value="submit"/> 
</s:form> 
+0

js控制檯是否顯示一些東西? whad是否意味着:「它會註銷並顯示登錄頁面」(給出一些上下文)? – Allende

+0

我的意思是我在輸入類型 - 文件上點擊了entery鍵,註銷後顯示登錄JSP頁面。 –

回答

0

它爲我(在文件輸入,純HTML的火狐,Chrome(包括UPTODATE)和jQuery 1.11):

 $("input[type=file]").keypress(function(ev) { 
       return false; 
       //ev.preventDefault(); //works as well 

    }); 

還要注意的是,不只需「輸入」鍵即可觸發瀏覽器對話框(barspace也可以)。

+1

重新啓動日食並清除IE9上的緩存後,我的jQuery正常工作。順便說一句,waht是酒吧?請儘可能解釋我。提前致謝。 –

+0

對不起是一個錯字想寫「空格鍵」(鍵盤上的鍵)。如果僅通過輸入keyCode檢查將會起作用,而且空格鍵將像enter鍵一樣觸發瀏覽文件對話框。 – Allende

0

我覺得我沒明白你的問題顯然

$(document).ready() { 
$('input:file').keypress(function() { 
    //your operations 
}); 
} 

(OR) 一次次嘗試是,希望它可以幫助你

$(function(){ 

$("#frm_CsvImp_import").on("change", "#INPUTTYPEID(or.CLASSNAME)", function(){ 

//do your operations 
}); 

}); 
相關問題