2011-01-11 9 views
1

로드 할 때 jsp 페이지에서 드롭 다운을 사용 중지해야합니다 .HTML 요소가 disabled 일 때 게시되지 않습니다 .Html 요소와 동일한 ID를 가진 숨겨진 요소를 사용하려고했으나 시도하지 않았습니다. 요소를 게시하십시오. 스트럿츠를 사용하고 있습니다. 조언이 있으면 감사하겠습니다.Struts 사용 안 함 필드

감사 미누

답변

1

귀하의 접근 방식은 좋았다 그러나 당신은 적절한 속성을 사용하지 않았다. nameid 특성이 아닌 요청으로 전송됩니다.

<body onload="javascript:disableCombo();"> 
    <form method="get" action="t.html"> 
     <select name="comboName" id="comboId"> 
      <option value="v1">Value 1</option> 
      <option value="v2" selected="selected">Value 2</option> 
      <option value="v3">Value 3</option> 
     </select> 
     <input type="hidden" name="comboName" id="txtId" value="waiting to see what happens" /> 
     <input type="submit" value="watch the address bar" /> 
    </form> 
</body> 

은 누르면 값, 제출 ... 다음

<script type="text/javascript"> 
    function disableCombo() { 
     var combo = document.getElementById("comboId"); 
     var txt = document.getElementById("txtId"); 
     combo.disabled = true; 
     txt.value = combo.value; 
    } 
</script> 

과 : 여기

그것을 할 ( t.html라는 이름의 파일이 저장)하는 방법에 대한 간단한 예입니다 콤보 (로드시 콤보를 비활성화 할 때 이미 숨겨진 필드에 복사 됨)가 요청시 전송됩니다.

+0

나는 그 값을 아직 게시하지 않는 것을 시도했다.

<입력 유형 = "숨겨진"이름 = "주"ID = "State1 정"/> 온로드 메신저 전화 : \t 기능 disableDropDown() \t \t { \t \t VAR 상태 = 문서 다음은 내 코드입니다 .getElementById ('State'); \t \t var state1 = document.getElementById ('State1'); \t state1.value = state.value; \t \t state.disabled = true; \t \t} – user573010

+0

@ user573010 : JSP 코드가 정상적으로 보입니다. 그것은 작동해야합니다. 나는 그것에서 생성되는 HTML에 뭔가 있어야합니다 같아요. 양식이 양식 안에있을 경우 (양식없이 제출할 수 없음) JavaScript 페이지에 오류가 있는지 확인하고 페이지에 (어쩌면 $ {Constants.STATESLIST})이 해결되지 않았는지 확인하십시오. 정확히). 즉, HTML을 확인하십시오. –