• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1311
2008.10.07 (17:52:42)

>
>>게시판을 이용해 주셔서 감사합니다.
>>다음양식에 맞게 입력해주세요.
>>
>>* 고객시스템명 : 형사사법
>>* GAUCE 버전 : 3.5
>>* WAS 종류(WebLogic 등등) : WebSphere
>>* DB 종류 : Oracle 10g
>>* 문의 유형(질문/요청/참조) : 질문
>>
>>첨부파일2는 정상적으로 보일경우이며, 첨부파일1은 항상 그러는게 아니라 가끔 첨부파일2와 다르게 보여지고 있으며, 첨부파일1과 같이 보일경우 LuxeCombo.Text를 사용하여 값을 꺼내올때 공백으로 넘어옵니다. (포커스를 한번 주고 LuxeCombo.Text를 사용하면 정상적으로 값이 꺼내짐). 해당 원인 및 해결책을 제시해주셨으면 합니다. 수고하세요!
>
>문맥으로 봐서는 css가 적용되어서 발생하지 않나 싶습니다.
>
>재현 샘플이라도 첨부가 되어 있으면 정확하게 가이드를 드릴 수 있지 않을까 싶습니다.


/**
* GAUCE LuxeCombo에 사용자가 입력한 값을 체크
* 입력한 값이 존재하면 해당항목으로 선택.
*
* param pGlcObj - LuxeCombo Object Name
* param pArr    - LuxeCombo의 index 조회를 하기 위해 지정할 컬럼명 pArr = new Array("Code", "Value")
* param pTabNm  - Dhtml Object Name
* return boolean [error:false]
*/
function sbjf_glcInputValCheck(pGlcObj, pArr, pTabNm)
{
  var vCd = "";
  var vNm = "";
  var vglcTxt = trim(pGlcObj.Text);
  var vglcIdx = pGlcObj.index;

  //GAUCE BUG처리
  if( vglcTxt == "" && vglcIdx > -1 )
  {
    pGlcObj.index = -1;
    return true;
  }

  if( vglcTxt == "" && pGlcObj.index < 0 )
  {
    pGlcObj.index = -1;
    return true;
  }

  try {
    //입력된 정보에서 코드,명을 분리
    var vSIdx = vglcTxt.indexOf("(");
    if( vSIdx > -1 ) {
      var vEIdx = vglcTxt.indexOf(")");

      if( vEIdx > -1 ) {
        vCd = vglcTxt.substring(vSIdx+1, vEIdx);
        vNm = trim(vglcTxt.substring(vEIdx+1));
      }
      else {
        vCd = vNm = vglcTxt;
      }
    }
    else {
      var vEIdx = vglcTxt.indexOf(")");

      if( vEIdx > -1 ) {
        vCd = trim(vglcTxt.substring(0, vEIdx));
        vNm = trim(vglcTxt.substring(vEIdx+1));
      }
      else {
        vCd = vNm = vglcTxt;
      }
    }

    var vCdIdx = pGlcObj.IndexOfColumn(pArr[0], vCd);
    var vNmIdx = pGlcObj.IndexOfColumn(pArr[1], vNm);

    if( vCdIdx > -1 )
      pGlcObj.index = vCdIdx;
    else if( vNmIdx > -1 )
      pGlcObj.index = vNmIdx;
    else {
      //alert("vCd=" + vCd + "::vNm=" + vNm + "::vglcTxt=" + vglcTxt + "::vglcIdx=" + vglcIdx);
      sbjf_ShowMessage(WSB_MSG_W_039); //올바른 입력값이 아닙니다.

      if( typeof(pTabNm) != 'undefined') {
        var tabObjNm = (typeof(pTabNm) == 'string') ? pTabNm: pTabNm.id;
        eval("document.all." + tabObjNm).click();
      }

      pGlcObj.focus();
      return false;
    }
  }
  catch(exception) {
    var objId = "";
    try {objId = pGlcObj.id;}catch(exception) {}
    alert("sbjf_glcInputValCheck::Error::ndescription::" + exception.description + "n" + objId);
    return false;
  }
  return true;
}

<COMMENT id=ms_glc_srel_gbn>
  <OBJECT id=glc_srel_gbn classid="CLSID:D8BCC087-4710-427D-B2E4-A4B93B6EA197" width=120>
    <!--<param name=CBData      value="02^보호자,04^증인,X1^감정인,X2^통역인,X3^번역인,X4^검사,05^청구인,09^기타">-->
    <PARAM name=CBDataColumns   value="Code,Value">
    <PARAM name=EditExprFormat  value="%) %;Code;Value">
    <PARAM name=ListExprFormat  value="%) %;Code;Value">
    <PARAM name=SearchColumn    value="Code, Value">
    <PARAM name=BindColumn      value="Code">
    <param name=ComboStyle value='4'><param name=Index      value='0'><param name=XPStyle    value='true'><param name=Border     value='false'>
  </OBJECT>
</COMMENT>
<SCRIPT>jf_ExpChg(ms_glc_srel_gbn);</SCRIPT>

프로그램에서 호출되는 javascript는 위와 같이 구현하였으며
호출은 sbjf_glcInputValCheck(glc_srel_gbn, new Array("Code", "Value")); 입니다.
 
Tag List
XE Login