2014-03-31 2 views
0

확인란에 값을 설정하는 방법 (true 또는 false).확인란에 값 지정 (true 또는 false)

<% Boolean inactive = Boolean.valueOf(request.getParameter("isCheckedUnmatch")); 
boolean isChecked = inactive.booleanValue(); 
%> 

<script language = javascript> 
function chgFlag(isChecked){ 
alert(isChecked); 
isChecked = true; 
} 
</script> 

<td align = "left"> 
<input name = "chkUnmatch" type = "checkbox" value = "<%=isChecked%>" onclick = "if (this.checked==true){chgFlag(<%=true%>)}"> 
<font face = "verdana" size = "2"><b>Unmatch Payment</b></font> 
</td> 

나는이 코드를 사용했지만 상자를 선택해도 자바 컨트롤러의 부울 값은 여전히 ​​기본값 인 false입니다.

참고 : 응용 프로그램을 개발할 때 Java의 최신 버전 인 Java 1.3을 사용하고 있습니다.

+0

입력 태그가 누락 및 글꼴 태그가 제대로 닫히지 않았습니다. 입력 태그의 id 속성을 "isCheckedUnmatch"로 지정했습니다. onclick 함수를 별도로 작성하면 더 좋습니다. –

+0

나는 Arvind와 drkunibar의 입력을 시도했다. 아무도 일하지 않았다. – coferniecus

+1

왜'request.getParameter ("isCheckedUnmatch")'를 얻으려고합니까? 그것은'request.getAttribute ("isCheckedUnmatch")가 아니어야합니까? – drkunibar

답변

1

먼저하고 스크립틀릿 (<% %>, <%! %>, <%= %>)는 등 표현 ${} .. 모두 처리된다.

상자를 선택하더라도 자바 컨트롤러의 부울 값은 여전히 ​​기본값 인 false입니다.

1)에 AJAX를 사용하면 (즉, 컨트롤러, 모델, 서블릿 등)에/체크 박스의 체크되지 않은 체크 서버 측 변수 값을 변경하려면

는 몇 가지 방법이있다 변수 값의 변화를 서버에 요청을 보내

<form id="myForm" action="servletUrlPattern" method="post"> 
    <input name="chkUnmatch" 
     type="checkbox" 
     onclick="if (this.checked==true){chgFlag(true)}">Check Box 
    <input type="submit"/> 
</form> 
<script src="//code.jquery.com/jquery-1.9.1.js"></script> 
<script type="text/javascript"> 
function chgFlag(isChecked){ 
    console.log('isChecked: '+isChecked); 
    $.post($('#myForm').attr('action'), { valueToChange : isChecked }).done(function(data) { 
      alert("Data Loaded: " + data); 
     }); 
} 
</script> 

와 서블릿에서 :

HTML 페이지처럼

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    System.out.println("doPost() invoked.."); 

    Boolean valueToChange = Boolean.valueOf(request.getParameter("valueToChange")); 
    System.out.println("valueToChange:"+valueToChange); 
    //Here, Do your works.. 
    response.getWriter().write("successfully changed.");   
} 

2) 버튼을 제출와

사용 형태.


은 참조 : jquery post doc

+0

이 자바 1.3, 내가 지원하는 레거시 응용 프로그램임을 언급하는 것을 잊었습니다. – coferniecus

+0

@coferniecus Java 1.3에서는 정상적으로 작동합니다. 어떤 오류나 예외가 발생합니까? – Rembo

1

u는이 시도 할 수 있습니다 :이 도움이 될

<input type="checkbox" name="chkUnmatch" onclick="chgFlag(this.checked)" value="" id="box"/> 

<script> 
    function chgFlag(chk){ 
    var box = document.getElementById("box"); 
    box.value = chk; 
    } 
    <% 
    Object tmp = request.getParameter("isCheckedUnmatch"); 
    if (null != tmp) { 
    boolean mrk = Boolean.valueOf(tmp); 
    %> 
    chgFlag(<%=mrk%>); 
    <%}%> 
</script> 
0

. 표시되는 HTML이, 자바 스크립트 및 CSS가 처리되기 전에

exsample에 JSP 자바 코드의 모든

<html> 
    <head> 
     <script type="text/javascript"> 
      function refreshCheckboxValue(checkbox){ 
       checkbox.value = checkbox.checked; 
      } 
     </script> 
    </head> 
    <body> 
     <input type="checkbox" onclick="refreshCheckboxValue(this)" value="false"/> 
    </body> 
</html> 
관련 문제