2013-04-16 3 views
1

웹 사이트에 등록 할 수없는 사람들로부터 여러가지 리포트를 받았는데, 그 이유는 그들이 이용 약관에 동의한다는 체크 박스를 체크 할 수 없기 때문입니다. 기본적으로 체크 박스가 선택되면 버튼이 활성화되어 등록을 계속할 수 있습니다.트러블 체크 박스

나는 많은 시간을 보냈다. 실제 체크 상자를 클릭해도 아무 것도하지 않지만 관련 레이블을 클릭하는 것은 대개는 그렇다. 나는 이것을 해결 방법으로 제시했지만 항상 실제 체크 박스를 클릭하고 싶습니다.

등록 페이지는 다음

<asp:CheckBox ID="AgreeTOUCheckBox" 
    AutoPostBack="true" 
    runat="server" Text="&ensp;I have read and agree to the" 
    OnCheckedChanged="AgreeTOUCheckBox_OnCheckChanged" /> 

생성 된 HTML이 (가독성 포맷)된다 : http://www.lonelycache.com/Account/GeocachingAuth.aspx

페이지 형태는 (가독성 포맷)의 체크 박스에 대해 다음 갖는다

<input id="MainContent_AgreeTOUCheckBox" type="checkbox" 
     name="ctl00$MainContent$AgreeTOUCheckBox" 
     onclick="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$MainContent$AgreeTOUCheckBox\&#39;,\&#39;\&#39;)&#39;, 0)" 
/> 
<label for="MainContent_AgreeTOUCheckBox"> I have read and agree to the</label> 

일관되게 작동 시키려면 어떻게해야합니까?

+2

'asp.net-mvc' : 여기

는 샘플입니다. – gdoron

답변

3

확인란이 정상적으로 작동하고 있으며 다른 패널 뒤에 숨겨져 있습니다. 확인란을 클릭하고 드래그하여 페이지 자체를 강조 표시하면 왼쪽 풋 프린트 패널이 대부분의 확인란을 숨길 수 있습니다.

확인란의 오른쪽 가장자리를 클릭하면 제대로 작동합니다.

아마과 같이 당신의 스타일을 조정 한 쉽게 :

<div style="padding-left:10px"> 
    <asp:CheckBox ID="AgreeTOUCheckBox" 
     AutoPostBack="true" 
     runat="server" Text="&ensp;I have read and agree to the" 
     OnCheckedChanged="AgreeTOUCheckBox_OnCheckChanged" /> 
</div> 

같은 당신의 인증 단추의 사실이다. 바로 왼쪽을 클릭하면 작동하지 않습니다.

그게 도움이되는지 알려주세요.

+0

이것은 나에게 매우 계몽적이었습니다. 체크 박스를 숨기는 다른 페이지 요소를 생각하지 않았습니다. 이제 모든 것이 딱 맞는 크기라고 생각하면서 왜 패널이 겹치는 지 이해해야합니다. – Russ

3

이 문제는 ASP.NET과는 아무런 관련이 없습니다. 나는 당신의 웹 사이트를 점검했고 체크 박스의 대부분 위에 앉아있는 DIV (id : boots)를 가지고있다. (그것은 부팅 이미지를 배경 이미지처럼 왼쪽에 표시한다.) 당신은 그 폭이 180px보다는 200 픽셀로 div에 설정하면, 그것은 당신의 문제를 해결해야

,

+0

감사합니다. 도움이되었습니다. 나는 모든 것이 크기라고 생각했지만 무언가가 패널 배치 방법에 영향을 미치고있는 것 같습니다. – Russ

1

나는 귀하의 사이트를 테스트했다. 나도 확인할 수 없어.

테스트 한 내용에 따르면 확인란을 선택하면됩니다. 그렇다면 jQuery를 사용하면됩니다. 내가, 내가 잘못된 태그를 제거 알고 있어요만큼

이 아닌
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#<%= AgreeTOUCheckBox.ClientID %>').click(function() { 
      if ($('#<%= AgreeTOUCheckBox.ClientID %>').attr('checked')) { 
       $('#<%= AuthorizeButton.ClientID %>').removeAttr("disabled"); 
      } else { 
       $('#<%= AuthorizeButton.ClientID %>').prop("disabled", "disabled"); 
      } 
     }); 
    }); 
</script> 

<asp:CheckBox ID="AgreeTOUCheckBox" runat="server" 
    Text="&ensp;I have read and agree to the" /> 
<asp:Button runat="server" ID="AuthorizeButton" 
    Text="Authorize" Enabled="False"/>