2013-04-05 4 views
0

사용자가 텍스트를 입력하고 일부 필드에서 탭을 통해 텍스트의 유효성을 검사 할 때 텍스트의 유효성을 검사하는 onKeyPress 이벤트를 작성하여 아무 것도 입력되지 않았거나 잘못된 값을 입력하면 사용자에게 알리는 오류가 발생합니다 필드는 필드로 돌아 가야하며 사용자는 필드에 대한 도움말 버튼 이외의 다음 필드로 넘어갈 수 없어야합니다.파이어 폭스 JSP에서 텍스트 필드 onkeypress 이벤트 유효성 검사

<jade:input type="text" name="dtxtDesigCd" 
    value="" size="10" maxlength="8" 
    classname="input" disabledclass="disabled-input" style="color: black" 
    datasource="dsDesigHourDetail:desigCode" 
    onkeypress= "checkDesignation(this, event);"> 
</jade:input> 
나는 또한에서 선택 후 JSP에서 텍스트 필드에 표시되는 디스플레이 관련 분야에 대한 데이터베이스의 도움으로 모달 창 데이터베이스에서 선택한 레코드 버튼은 기본적으로 사용자 정의 JSP 태그 "PickList에"이

도움말 창.

수정 된 SOFIA 프레임 워크는 이전 공급 업체에서 사용 했으므로 이제 코드를 유지해야합니다. 이전 코드의 문제점은 onkeypress 대신 onblur를 사용 했으므로이 버튼을 두 번 클릭해야 도움을받을 수 있었고 오류가 계속 발생하면서 여러 번 시도해야했기 때문입니다.

<rap:pickfromlist name="picklistDesignation" datasource="dsDesigHourDetail" 
    pflheading="Designation Details" focusfield="dtxtDesigCd" 
    pflcolumnsdesc="Designation Code, Description" 
    fieldlist="distinct emp_desig_cd, emp_desig_desc " 
    lookuptable="pmm_designation" orderby="emp_desig_cd" 
    targetproperty="desigCode, designation" 
    whereclause=" executive_post='N' and crew_flg = 'N'" /> 

에서 :에 onblur와

이전 코드는 다음과 같이 이제

onkeypress= "checkDesignation(this, event);"> 

도움말 버튼의 코드로 대체되었습니다

onblur="setValue('DESIGNATION');" onkeyup="capitalize(this);" 

가/JSP에서 PickList에가 있었다 이 필드에서 지정에 대한 설명은 선택 목록에서 선택한대로 캡처되거나 양식이 submitte 인 경우 캡처됩니다. d 폼과 폼에 숨겨진 변수 액션을 통해 서버에 전달 된 값을 전송하는 setValue 메소드를 통해 제출됩니다.

<jade:input type="text" name="dlblDesigDesc" value="" size="50" 
    classname="labeltext" style="color: black" 
    datasource="dsDesigHourDetail:designation" enabled="False"> 
</jade:input> 

checkDesignation은 (OBJ, EVT는)

function checkDesignation(obj, evt) { 
    var evt = (evt) ? evt : (window.event) ? event : null; 
    if (evt) { 
     var len = TrimString(obj.value).length; 
     alert("Designation : " + obj.value); 
     if (evt.keyCode == 9 && len >= 0) { 
      if (len == 0) { 
       setErrMessage('Designation must be entered and not blank'); 
       document.forms[0].htmlPageTopContainer_pageForm_detailDesigHourForm_dtxtDesigCd.focus(); 
       document.forms[0].htmlPageTopContainer_pageForm_detailDesigHourForm_dtxtDesigCd.value = ''; 
       setValue('DESIGNATION'); 
       return false; 
      } else { 
       capitalize(obj); 
       setValue('DESIGNATION'); 
       return true; 
      } 
     } 
    } 
} 
+1

으로 정의된다. 이제 정확한 질문은 무엇입니까? –

답변

1

확인 당신은 아주 좋은 ENT 버튼을 누르면 DVR을 만들어이

$("#textbox").bind("onKeyPress ", function (e) { 
       if (e.altKey || e.ctrlKey || e.shiftKey){ 
        return true; 
    } 
    else{ 
    // you have this text box inner text in this.val() and can be checked with 
      your validate function. 
    } 
      });