从html下拉列表和文本框中删除已禁用的属性

时间:2013-01-30 21:03:58

标签: javascript html

我正在运行带有html buttoms的c#网页,并且无法执行启用下拉列表和文本框的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" />

2 个答案:

答案 0 :(得分:1)

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

在纯HTML元素上,removeAttribute应该有用。

Here is an example

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

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

我在最新版本的Firefox和Internet Explorer中测试了removeAttribute

答案 1 :(得分:0)

这对我有用!

  

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