启用禁用的输入类型图像不起作用

Posted

技术标签:

【中文标题】启用禁用的输入类型图像不起作用【英文标题】:Enabling a disabled input type image is not working 【发布时间】:2021-02-09 00:46:01 【问题描述】:

亲爱的,我正在尝试根据某些条件启用禁用的输入类型图像 我尝试了几个没有解决方案的代码 我正在使用 Angular js 和 jQuery,知道如何解决这个问题

html

<td style="width: 46px;">
<a href="#">
<input type="image" ng-click="committeeedit() ;$event.stopPropagation();$event.preventDefault();" src="assets/images/pencil.png" />
</a>
<a href="#">
<input disabled type="image" id="deleteCommitteeBtn" ng-click="deleteCommittee()" ng-src="assets/images/cross.png" />
</a>
</td>
setenabledfields();
        function setenabledfields() 
            cmePointsSrv.getSecurity("CMEpoints/getSecurity?hospkey=" + $scope.hospitalid).then(function (response) 
                $scope.Security = (response.data);
                //console.log($scope.Security);
               

                if ($scope.Security[0].code == 1) 
                    cmePointsSrv.getenabledfields("CMEpoints/getenabledfields?funckey=" + $scope.funckey + '&staffkey=' + $scope.staffkey).then(function (response) 
                        $scope.enabledfields = (response.data);

                        $('#frame input,#frame select').attr('disabled', 'true');
                        
                        $scope.enabledfields.forEach(function (e) 
                            var tt = document.getElementById(e.ctrl_Actual_name.split('.')[1])

                            if (tt != null) 
                                //console.log(tt);
                                document.getElementById(e.ctrl_Actual_name.split('.')[1]).disabled = false;
                            
                            //else  document.getElementById(e.ctrl_Actual_name.split('.')[1]).disabled = true;

                        )
                    )
                 else 
                   

                        //document.getElementById("deleteMeetingBtn").disabled = true; 
                        //document.getElementById("deleteCompulsoryBtn").disabled = true; 
                        //document.getElementById("deleteTrainingBtn").disabled = true; 
                        //document.getElementById("deleteOtherBtn").disabled = true;
document.getElementById("deleteCommitteeBtn").disabled = false;
                    //$("#deleteCommitteeBtn").attr('disabled', 'disabled');
                    //$("#deleteCommitteeBtn").prop("disabled", true);
                    $("deleteCommitteeBtn").removeAttr('disabled');
                    //$("#deleteCommitteeBtn")[0].onclick = null;
                

            )
        

无法将属性“禁用”设置为 null 提前感谢

【问题讨论】:

看起来很奇怪你会用 jQuery 而不是 angular 来做这个 感谢您的回复,不幸的是我都试过了,但没有解决方案 【参考方案1】:

$('#deleteCommitteeBtn').prop('disabled', 'false');

【讨论】:

将此代码添加到浏览器控制台:$('#deleteCommitteeBtn');然后按回车,然后查看指向的 DOM。也许是另一个 id 行或 DOM 是在之后创建的 上下文:文档选择器:“#deleteCommitteeBtn”

以上是关于启用禁用的输入类型图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

reactjs通过一个不起作用的功能启用禁用按钮

字段启用禁用javascript不起作用

启用/禁用表单提交按钮不起作用

jquery:重置后禁用/启用按钮不起作用

禁用文本框后 JQuery UI 自动完成功能不起作用

WebServiceHost在IIS中禁用匿名身份验证后不起作用