0

我正在运行带有 html 按钮的 ac# 网页,并且在执行启用下拉列表和文本框的 javascript 时遇到问题。它们都被预定义为禁用以及隐藏的 ssave 按钮,在按钮单击时我调用 NewType() 函数,它们应该在按钮单击时可见并启用,但它不起作用。保存按钮上的可见性调用无效,但不适用于下拉菜单或文本框。

<script type="text/javascript">

$(document).ready(function() {
    var d = document.getElementById('saveBtn').style.visibility = 'hidden';

});  

    function NewType() {           
            var e = document.getElementById('saveBtn').style.visibility = 'visible';

            var x = document.getElementById('DD').removeAttribute('disabled');

            var a = document.getElementById('txt1').removeAttribute('disabled');

            var b = document.getElementById('txt2').removeAttribute('disabled');

            var c = document.getElementById('txt3').removeAttribute('disabled');                                                     
        };


 <button type="button" onclick="NewType()">Add New</button>
 <button type="button" id="saveBtn">Save</button>

<select ID="DD" runat="server" disabled="disabled"
                            height="30px" style="width: 120px">
                            <option value=""></option>
                            <option value="1">fruit</option>
                            <option value="2">vegetables</option>       
                                <option value="3">Other</option></select>
   <br />
                      <input size="3" type="text" ID="txt1" runat="server" disabled="disabled" /> 
                      <input size="3" type="text" ID="txt2" runat="server" disabled="disabled"/>
                      <input size="4" type="text" ID="txt3" runat="server" disabled="disabled" />
4

2 回答 2

1

如果您不需要它,请runat="server"从这些元素中删除该属性。具有此属性的控件可能会在写入页面之前被更改。删除这将意味着它们被 .NET 单独留下。

在普通的 HTML 元素上,removeAttribute应该可以工作。

这是一个例子

<input id="test" type="text" disabled="disabled" value="Some Value">
<script>
    document.getElementById('test').removeAttribute('disabled');
</script>

如果您View Source在浏览器中的页面上,您可以检查 .NET 是否调整了某些内容,例如 id 属性。

我已经removeAttribute在最新版本的 Firefox 和 Internet Explorer 中进行了测试。

于 2013-01-30T21:08:55.393 回答
0

这对我有用!

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

于 2017-09-13T15:02:37.577 回答