使用javascript控制文本框
我正在尝试使用javascript禁用页面上的控件。。我正在做以下工作,但未能成功完成。。我遗漏了什么,请指出使用javascript控制文本框,javascript,jquery,asp.net,textbox,Javascript,Jquery,Asp.net,Textbox,我正在尝试使用javascript禁用页面上的控件。。我正在做以下工作,但未能成功完成。。我遗漏了什么,请指出 if (some condition) { var textBoxTemp = document.getElementById('_ctl21_m_txtTemp'); textBoxTemp.disabled = true; } 我通过查看页面的源代码获得元素id。在源代码中,id显示 _ctl21:m_
if (some condition) {
var textBoxTemp = document.getElementById('_ctl21_m_txtTemp');
textBoxTemp.disabled = true;
}
我通过查看页面的源代码获得元素id。在源代码中,id显示
_ctl21:m_txtTemp
我试着两者都用
_ctl21:m_TXTEMP和_ctl21_m_TXTEMP
在上面的第二行代码中,..可以使用jquery禁用文本框
$("[id$=txtTemp]").prop("disabled", true);
注意:prop()仅在jquery 1.6之后可用。如果您使用的是早期版本,则可以使用:
编辑:
由于ASP.NET会损坏控件的ID,因此有几种不同的方法可以在页面上找到控件,例如:
$('[id$=txtTemp]')
$('#<%= txtTemp.ClientID %>')
现在,您可以通过以下方式搜索iframe内容,就像它是文档一样:
iframe.getElementByID('<%= txtTemp.ClientID %>').disabled = true;
iframe.getElementByID(“”).disabled=true;
您标记了Jquery,因此我想我可以提供一个Jquery解决方案:
if (some_condition)
{
$('#_ctl21_m_txtTemp').attr('disabled','disabled');
}
如果您使用jQuery,您可以
$('#').attr(“禁用”、“禁用”)代码>
这可以确保在移动文本框时获得正确的客户端id。对于jQuery,我不会使用document.getElementById,这完全不是重点
textBoxTemp = $('#_ctl21_m_txtTemp'); // weird name, by the way
textBoxTemp.attr('disabled','disabled');
据
语法应该是
textBoxTemp.disabled="disabled"
您可以试一试。我不知道您是想在jQuery还是普通的旧Javascript中实现这一点,但这两种语言都有:
Javascript
(您可能正在查找readonly属性,而不是disabled属性)
jQuery
$('#_ctl21_m_txtTemp').attr('readonly',true);
您确定testBoxTemp存在吗?听起来像是在使用ASP控件-查看源页面并仔细检查元素的Y及其_ctl21_m_txtemp是否可以显示与txtemp相关的aspx页面标记?这是生成的名称,因为它是一个服务器控件我尝试了这个。。但这对我不起作用。。jquery行运行之前的一个警报显示它进入if语句。但是jquery行不起作用..尝试了两种。。它似乎不起作用。。我怀疑问题出在别的地方。。如果字段位于页面内的一个框架中,那么我如何获得id并在这种情况下禁用它..因为现在,无论我尝试什么,jqyer、javascript和这么多可能的解决方案..它根本不会禁用控件..尝试了所有这些想法。。它似乎不起作用。。我怀疑问题出在别的地方。。如果字段位于页面内的一个框架中,那么我如何获得id并在这种情况下禁用它..因为现在,无论我如何尝试,jqyer、javascript和这么多可能的解决方案..它根本不会禁用控件..据我所知,您的页面有一个iframe,您正试图从父页面禁用iframe中的文本框。?我不知道。。它在一个框架内。。或者不。。这应该是简单的修复,无论我尝试它不工作。。让我觉得控件在页面上并不简单。。如果我这样做的话,可能是找不到id。我想我们需要更多地查看您的html,才能真正帮助您。让我们
textBoxTemp.disabled="disabled"
var textBoxTemp = document.getElementById('_ctl21_m_txtTemp');
textBoxTemp.readonly = true;
$('#_ctl21_m_txtTemp').attr('readonly',true);