λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„λ‘œκ·Έλž˜λ° 곡뢀/JavaScript

[ex28~30] check, radio, range

ex28

μ²΄ν¬λ°•μŠ€

 

μ½”λ“œ

<body>
    <!-- ex28_check.html -->
    <h1>체크 λ°•μŠ€</h1>

    <form name="form1">
        <input type="checkbox" name="cb1">
        <input type="button" value="확인" name="btn1">
    </form>

    <hr>

    <h1>νšŒμ› κ°€μž…</h1>

    <h2>이용 μ•½κ΄€</h2>

    <div style="width: 500px; height: 150px; overflow: auto; border: 1px solid black; padding:10px;">lorem500</div>
    <hr>
    <label>
        <input type="checkbox" name="cbagree">
        약관에 λ™μ˜ν•©λ‹ˆλ‹€.
    </label>
    <hr>
    <input type="button" value="λ‹€μŒ λ‹¨κ³„λ‘œ" disabled name="btnnext" onclick="location.href='ex27_form.html';">

    <hr>

    <h1>받은 νŽΈμ§€ν•¨</h1>

    <table border="1" width="500">
        <tr>
            <th><input type="checkbox" name="cball"></th>
            <th>번호</th>
            <th>제λͺ©</th>
            <th>보낸이</th>
            <th>λ‚ μ§œ</th>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="cbitem"></td>
            <td>10</td>
            <td>μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€.</td>
            <td>홍길동</td>
            <td>2023-04-24</td>
        </tr>
    </table>

    <script>

        var cb1 = document.form1.cb1;
        
        document.form1.btn1.onclick = m1;

        function m1() {
            // cb1.checked = true;
            cb1.checked = !cb1.checked;
        }

        // cb1.onclick = m2;
        cb1.onchange = m2; //μž…λ ₯ 컨트둀의 값이 λ³€ν•  λ•Œ λ°œμƒν•˜λŠ” 이벀트(더 μžμ£Όμ”€)

        function m2() {
            console.log(cb1.checked);
        }




        var cbagree = document.all.cbagree;
        var btnnext = document.all.btnnext;

        cbagree.onchange = m3;

        function m3() {
            if (cbagree.checked) {
                btnnext.disabled = false;
            } else {
                btnnext.disabled = true;
            }
        }


        var cball = document.all.cball;
        var cbitem = document.all.cbitem; //λ°°μ—΄

        cball.onchange = m4;

        //전체 체크
        function m4() {
            // if (cball.checked) {
            //     for (var i=0;i<cbitem.length; i++) {
            //         cbitem[i].checked = true;
            //     }
            // } else {
            //     for (var i=0;i<cbitem.length; i++) {
            //         cbitem[i].checked = false;
            //     }
            // }

            //더 κ°„λ‹¨ν•˜κ²Œ
            for (var i=0; i<cbitem.length; i++) {
                cbitem[i].checked = cball.checked;
            }
        }

    </script>
</body>
</html>

 

ν™”λ©΄

더보기
Document

체크 λ°•μŠ€


νšŒμ› κ°€μž…

이용 μ•½κ΄€

lorem500



받은 νŽΈμ§€ν•¨

번호 제λͺ© 보낸이 λ‚ μ§œ
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24
10 μ•ˆλ…•ν•˜μ„Έμš”. κ΄‘κ³ λ©”μΌμž…λ‹ˆλ‹€. 홍길동 2023-04-24

ex29

λΌλ””μ˜€ λ²„νŠΌ

    <style>
        label { display: block; }
    </style>
</head>
<body>
    <!-- ex29_radio.html -->

    <h1>λΌλ””μ˜€ λ²„νŠΌ</h1>

    <label><input type="radio" name="rb" value="white" checked>흰색</label>
    <label><input type="radio" name="rb" value="red">빨간색</label>
    <label><input type="radio" name="rb" value="yellow">λ…Έλž€μƒ‰</label>
    <label><input type="radio" name="rb" value="blue">νŒŒλž€μƒ‰</label>
    <label><input type="radio" name="rb" value="black">검은색</label>

    <script>

        var rb = document.all.rb;

        console.log(rb[0]);

        for (var i=0; i<rb.length; i++) {
            rb[i].onchange = m1;
        }

        function m1() {
            //5개의 λΌλ””μ˜€ λ²„νŠΌ 쀑 λˆ„κ°€ λ‚˜λ₯Ό λΆˆλ €λŠ”μ§€?
            // alert(event.target.value);
            document.body.bgColor = event.target.value;

            if (event.target.value == 'black' || event.target.value == 'red' || event.target.value == 'blue' ) {
                document.body.text = 'white';
            } else {
                document.body.text = 'black';
            }
        }

    </script>
</body>
</html>

 

ν™”λ©΄

더보기
Document

λΌλ””μ˜€ λ²„νŠΌ


ex30

range

    <style>
        label {
            display: block;
            padding: 10px;
        }
        
        label input[type=range] {
            width: 300px;
        }
    </style>
</head>
<body>
    <!-- ex30_range.html -->

    <h1>배경색(RGB)</h1>

    <label>R: <input type="range" name="red" min="0" max="255" value="255"></label>
    <label>G: <input type="range" name="green" min="0" max="255" value="255"></label>
    <label>B: <input type="range" name="blue" min="0" max="255" value="255"></label>

    <script>
        var red = document.all.red;
        var green = document.all.green;
        var blue = document.all.blue;

        // onchange > 선택 μ™„λ£Œλ˜μ—ˆμ„ λ•Œ 반영
        // red.onchange = m1;
        // green.onchange = m1;
        // blue.onchange = m1;

        //oninput > 선택 λλ‚˜μ§€ μ•Šμ•„λ„ 계속 반영
        red.oninput = m1;
        green.oninput = m1;
        blue.oninput = m1;

        function m1() {
            // console.log(red.value, green.value, blue.value);
            //BOM > HTML νƒœκ·Έμ˜ 속성 μ‘°μž‘ κ°€λŠ₯ > HTML RGB 16μ§„μˆ˜λ§Œ 지원

            //10μ§„μˆ˜ > 16μ§„μˆ˜
            // console.log(typeof red.value);
            // console.log(red.value, parseInt(red.value).toString(16));

            var r = parseInt(red.value).toString(16);
            var g = parseInt(green.value).toString(16);
            var b = parseInt(blue.value).toString(16);

            document.body.bgColor = '#' + r + g + b;
        }

    </script>
</body>
</html>

 

ν™”λ©΄

더보기

배경색(RGB)