C# Javascript错误';对象没有';不支持此属性或方法';在document.getElementByID上?
我试图在用户单击面板(在TableCell中)时运行此JS函数。此面板是内容页中的一个元素,与具有内容占位符的母版页一起使用。当我尝试单击面板时,抛出以下错误: Microsoft JScript运行时错误:对象不支持此属性或方法 以下是母版页ASPX的相关代码:C# Javascript错误';对象没有';不支持此属性或方法';在document.getElementByID上?,c#,javascript,asp.net,internet-explorer-8,master-pages,C#,Javascript,Asp.net,Internet Explorer 8,Master Pages,我试图在用户单击面板(在TableCell中)时运行此JS函数。此面板是内容页中的一个元素,与具有内容占位符的母版页一起使用。当我尝试单击面板时,抛出以下错误: Microsoft JScript运行时错误:对象不支持此属性或方法 以下是母版页ASPX的相关代码: <link rel="Stylesheet" href="../includes/styles.css" /> <script type="text/javascript" languag
<link rel="Stylesheet" href="../includes/styles.css" />
<script type="text/javascript" language="javascript">
function swapDirections(control) {
var main = document.getElementByID('ct100_TableContent_' + control);
var long = document.getElementById('ct100_TableContent_' + control + '_long');
var short = document.getElementById('ct100_TableContent_' + control + '_short');
var mainhtml = main.innerHTML;
var longhtml = long.innerHTML;
var shorthtml = short.innerHTML;
if (mainhtml.length == shorthtml.length)
main.innerHTML = longhtml;
else
main.innerHTML = shorthtml;
}
</script>
功能swapDirections(控制){
var main=document.getElementByID('ct100\u TableContent\u'+控件);
var long=document.getElementById('ct100_TableContent_'+control+'u long');
var short=document.getElementById('ct100_TableContent_u'+control+'u short');
var mainhtml=main.innerHTML;
var longhtml=long.innerHTML;
var shorthtml=short.innerHTML;
if(mainhtml.length==shorthtml.length)
main.innerHTML=longhtml;
其他的
main.innerHTML=shorthtml;
}
以下是内容页的相关代码:
Panel rigDirections = new Panel();
rigDirections.CssClass = "clip";
rigDirections.ID = u.Id.ToString() + "_RD";
string MainDivRD = rigDirections.ClientID;
Literal rigDir = new Literal();
string sshort = "";
if (u.RigDirections.ToLower().Length > (textCutOFF + 4))
{
sshort = Server.HtmlEncode(u.RigDirections.ToLower().Substring(0, textCutOFF).Trim()) + " ...";
rigDir.Text = "<a class=RD_RA title=\"Click to Expand\" href=\"javascript: swapDirections('" + MainDivRD + "')\">" + sshort + "</a>"; ;
}
else
{
sshort = Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDir.Text = sshort ;
}
string slong = Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDirections.Controls.Add(rigDir);
cell.Controls.Add(rigDirections);
Panel rigDirections=新面板();
rigDirections.CssClass=“clip”;
rigDirections.ID=u.ID.ToString()+“_-RD”;
字符串MainDivRD=rigDirections.ClientID;
Literal rigDir=new Literal();
字符串sshort=“”;
如果(u.RigDirections.ToLower().Length>(文本截止+4))
{
sshort=Server.HtmlEncode(u.RigDirections.ToLower().Substring(0,textCutOFF.Trim())+“…”;
rigDir.Text=“”;
}
其他的
{
sshort=Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDir.Text=sshort;
}
字符串slong=Server.HtmlEncode(u.RigDirections.ToLower().Trim());
rigDirections.Controls.Add(rigDir);
单元格.Controls.Add(单元格方向);
以及内容页ASPX:
<asp:Content ID="Content1" ContentPlaceHolderID="TableContent" Runat="Server">
<asp:Panel ID="pnlTable" Width="950" runat="server">
</asp:Panel>
</asp:Content>
在函数的第一行抛出错误
我已经用尽了我的互联网搜索技能,我以前从未使用过JS,所以如果有人有任何想法,我将非常感谢他们
谢谢
badPanda它应该是document.getElementById而不是document.getElementById。javascript区分大小写
document.getElementByID()
不是一个函数,但document.getElementByID()
是一个函数。
document.getElementByID() //wrong
document.getElementById() //right
javascript区分大小写。尝试document.getElementById而不是document.getElementById您应该将getElementID更改为getElementById。我也这么做了,好几天都想不出来。请记住JavaScript是区分大小写的,并且使用小写的CamelCase。什么类型的元素是
var main=document.getElementByID('ct100\u TableContent\u'+control)代码>?哇,太尴尬了!谢谢各位。我想你们在这两种情况下都拼错了getElementById
。此外,已经提供了这个答案。