본문 바로가기

ASP.NET 기초 게시판/BasicBoard

BoardView.aspx 페이지 & BoardView.aspx 자바스크립트


BoardView.aspx 페이지
<table width="650">
    <tr>
        <th width="100">제목</th>
        <td colspan="5"><asp:Label ID="Title" runat="server" Text=""></asp:Label></td>
       
    </tr>
    <tr>
        <th width="100" align="center">작성자</th>
        <td width="80" align="center"><asp:Label ID="Writer" runat="server" Text=""></asp:Label></td>
        <th width="100" align="center">작성일</th>
        <td width="100" align="center"><asp:Label ID="Date" runat="server" Text=""></asp:Label></td>
        <th width="100" align="center">조회수</th>
        <td width="50" align="center"><asp:Label ID="Visit" runat="server" Text=""></asp:Label></td>
    </tr>
    <tr>
        <td colspan="6" ><asp:Label ID="content" runat="server" Text=""></asp:Label></td>
    </tr>
    </table>
    </div>
    <div style="text-align:right; width:650px; padding-bottom:10px;">
        <input type="hidden" name="hidechk" id="hidechk" runat="server" enableviewstate="false" />
        <input type="hidden" name="idxchk" id="idxchk" runat="server" enableviewstate="false" />
        <asp:Button ID="BtnGoDefault" runat="server" Text="목록보기"  onclick="BtnGoDefault_Click" />
        <asp:Button ID="BtnGoUpdate" runat="server" Text="수정하기"  OnClientClick="return chk('edit');"/>
        <asp:Button ID="BtnGoWrite" runat="server" Text="글쓰기"  onclick="BtnGoWrite_Click" />
        <asp:Button ID="BtnDelete" runat="server" Text="글삭제" OnClientClick="return chk('del');"/>
    </div>
    <div style="text-align:right; width:650px; padding-bottom:10px;">
        <asp:Label ID="lblwarning" runat="server" Text="" ForeColor="red" ></asp:Label>
    </div>
    <div id="box" style="width:240px; height:30px; border:1px solid #000; text-align:center; padding:5px; margin-left:400px;display:none" >
        <div id="textPrint">text</div>
        <asp:TextBox ID="txtPwd" runat="server" width="100"></asp:TextBox>
        <asp:Button ID="PasswordChk" runat="server" Text="확인" OnClientClick="return chkPassword();" />
        <asp:Button ID="PasswordClose" runat="server" Text="닫기" />
    </div>


BoardView.aspx 자바스크립트
<script language="javascript" type="text/javascript">
        function chk(obj) {
            var chk = document.getElementById('BtnGoUpdate');
            var boxs = document.getElementById('box');
            var hidechk = document.getElementById("<%=hidechk.ClientID %>");
            var TypeBtn = document.getElementById('TypeBtn');
            hidechk.value = obj;
            if (obj == "edit"){
                document.getElementById("textPrint").innerHTML = "수정을 위한 비밀번호를 입력하세요.";
            }
            else{
                document.getElementById("textPrint").innerHTML = "삭제를 위한 비밀번호를 입력하세요.";
            }
            if (boxs.style.display == 'none') {
                boxs.style.display = 'block';
            }
            return false;
        }
        function chkPassword()
        {
            var chkText = document.getElementById("<%=txtPwd.ClientID %>");
            var hidechk = document.getElementById("<%=hidechk.ClientID %>");
            var idxchk = document.getElementById("<%=idxchk.ClientID %>");
            var url = "pwdcheck.aspx?chkText=" + chkText.value + "&chkType=" + hidechk.value + "&chkIdx=" + idxchk.value;
            var xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
            xmlRequest.open("POST", url, false);
            xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xmlRequest.send(null);
            if (xmlRequest.ResponseText == 1) {
                alert('비밀번호가 일치하지 않습니다.');
                return false;
            }
            else {
                if (hidechk.value == 'edit'){
                    location.href = "/BoardWrite.aspx?idx=" + idxchk.value;
                    return false;
                }
                else{
                    location.href = "/Default.aspx";
                    return false;
                }
            }
        }
    </script>

hidechk.value = obj;
어떤 버튼을 클릭하여 함수가 실행됐는지 chk(obj)에 넘어오는 값으로 구분 할 수 있다.
삭제는 objdel이 넘어오고, 수정은 objedit가 넘어온다.

document.getElementById("textPrint").innerHTML
div의 id를 자바스크립트에서 호출하여 if만을 돌려 다른 텍스트문을 출력해준다.