2014-02-13 2 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 콘솔에 무언가가 표시됩니까? 이것이 의미하는 바는 "로그 아웃하고 로그인 페이지를 표시합니다"입니다 (컨텍스트 제공)? – Allende

+0

입력 유형에 entery 키를 눌렀다는 것을 의미합니다. 로그 아웃 후에 로그인 JSP 페이지가 표시됩니다. –

답변

0

당신에게 도움이되기를 바랍니다 : 또한

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

    }); 

하지 않는 것을 알 수 그냥 "enter"키를 누르면 브라우저 대화 상자가 열립니다 (barspace도 마찬가지입니다).

+1

이클립스를 다시 시작한 후 IE9에서 캐시를 지운 후에 제 jquery가 올바르게 작동합니다. btw, 와우는 바스켓인가? 가능한 경우 pls가 설명해줍니다. 미리 감사드립니다. –

+0

"스페이스 바"(키보드의 키)를 쓰려는 실수가있었습니다. Enter 키 코드 만 확인하면 스페이스 바 키가 Enter 키와 마찬가지로 파일 대화 상자를 탐색합니다. – Allende

0

내가 일을하려고 명확하게

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

(OR) 한 번 질문을 이해하지 않았다고 생각 , 그것은 그것은 (파이어 폭스, 크롬 (모두 UPTODATE)와 JQuery와 1.11에, 파일 입력에 일반 HTML을) 나를 위해 작동

$(function(){ 

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

//do your operations 
}); 

});