我正在运行带有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" />
答案 0 :(得分: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属性。
我在最新版本的Firefox和Internet Explorer中测试了removeAttribute
。
答案 1 :(得分:0)
这对我有用!
$('#test')。prop('disabled',false);