-1

جافا سكربت : لماذا if checked لا يعمل ؟

ما الخطأ عندما تحاول التحقق ما إذا كان radio Button محدد أم لا ؟

input id='px10' type='radio' name='fontSize'>10px>

 <script type="text/javascript">
        var px10 = document.querySelector('#px10');
        if (px10.checked)
        alert('d');
    </script>

السبب الرئيسي لعدم اظهار الرسالة هو ان السكربت يعمل لمرة واحد فقط. وفي حالتك هذه يكون ال radio button غير محدد عند تحميل الصفحة فبالتالي الشرط px10.checked لم ولن يتحقق وهنا ينتهي عمل السكربت. ولكن لكي تحصل على التأثير المطلوب يجب استخدام ال events و ال callback functions لكي يتمكن المتصفح من الإستماع لأي حدث ممكن ان يحصل لل radio button. وممكن القيام بذالك كالتالي:

10px

<script>
    var px10 = document.querySelector('#px10');

    function showMessage(){
        alert('d');
    }
    if(px10.addEventListener){
        px10.addEventListener("change",showMessage);
    }else{
        px10.attachEvent("change", showMessage);
    }

</script>