AA.innerHTML="<tr><td align='left' width='140' style='color:#ff0000'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>";
这句话有没有错?
其实看上去我觉得没有错误,运行的时候总是说缺少对象,以我的看法,觉得问题出在onclick='control_beishu(this,1);'这句话上
不知道有没有哪为大吓帮我解决下,实在是万分感激...
从上班以来每天都在关注JS,头都大了...
13 个解决方案
#1
大侠,高手,天才,快点来99我吧~!!!!!!!!!!!
#2
好象确实是那句话出错了,但是忘记怎么弄了,LZ让我想下
#3
应该为:AA.innerHTML=" <tr> <td align='left' width='140' style='color:#ff0000'> <input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'</td></tr>"
你好像少了</td></tr>
你好像少了</td></tr>
#4
这个我后面都加上的了,只是因为太长了,我才简短的写了个大概,双引号里的语句我都是用+=拼凑的,所以,为了让你们大侠看了不头晕,才大概写了写的.
不过还是谢谢你
不过还是谢谢你
#5
我把源码贴出来,如下:
var digitDiv = bottom.document.getElementById("digitDiv");
var str;
var EndOverSecond;
var rows = xmlDoc.documentElement.childNodes.length;
str = "<table id='tbshowtozhuexpect' cellspacing='0' bordercolordark='#ffffff' cellpadding='3' width='100%' bordercolorlight='#A4E0FD' border='1'>";
for(var i=0;i<rows;i++)
{
if(i ==0 && TouzhuExpectType ==1)
{
str += "<tr><td align='left' width='140' style='color:#ff0000'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>"; //beishu.js
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"<span style='COLOR: #ff0000'>[当前期]</span>";
}
else
{
str += "<tr><td align='left' width='140'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>";
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data;
}
str += "</td><td align='left' width='160'>倍数:<input type='text' name='beishu_show' id='beishu_show' class='input' value='0' size='3' maxlength='10' onKeyUp=\"value=value.replace(/\\D+/g,'');set_beishuhidden(this);JoinExpectBeishu();show_money();\" onbeforepaste='BeforePaste()' disabled='disabled'/>";
str += "<span class='wzred1' id='expectmoneyshow'>0</span> 元</td>";
str += "<input type='hidden' name='expect_hidden' value='"+xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"'>";
EndOverSecond= xmlDoc.documentElement.childNodes[i].getElementsByTagName("S_time")[0].firstChild.data;
var dgendtime = (EndOverSecond.replace("T"," ")).substr(0,16);
str+= "<td align='center' id='dgendtime'>"+dgendtime+"</td></tr>";
digitDiv.innerHTML = str;
}
var digitDiv = bottom.document.getElementById("digitDiv");
var str;
var EndOverSecond;
var rows = xmlDoc.documentElement.childNodes.length;
str = "<table id='tbshowtozhuexpect' cellspacing='0' bordercolordark='#ffffff' cellpadding='3' width='100%' bordercolorlight='#A4E0FD' border='1'>";
for(var i=0;i<rows;i++)
{
if(i ==0 && TouzhuExpectType ==1)
{
str += "<tr><td align='left' width='140' style='color:#ff0000'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>"; //beishu.js
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"<span style='COLOR: #ff0000'>[当前期]</span>";
}
else
{
str += "<tr><td align='left' width='140'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>";
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data;
}
str += "</td><td align='left' width='160'>倍数:<input type='text' name='beishu_show' id='beishu_show' class='input' value='0' size='3' maxlength='10' onKeyUp=\"value=value.replace(/\\D+/g,'');set_beishuhidden(this);JoinExpectBeishu();show_money();\" onbeforepaste='BeforePaste()' disabled='disabled'/>";
str += "<span class='wzred1' id='expectmoneyshow'>0</span> 元</td>";
str += "<input type='hidden' name='expect_hidden' value='"+xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"'>";
EndOverSecond= xmlDoc.documentElement.childNodes[i].getElementsByTagName("S_time")[0].firstChild.data;
var dgendtime = (EndOverSecond.replace("T"," ")).substr(0,16);
str+= "<td align='center' id='dgendtime'>"+dgendtime+"</td></tr>";
digitDiv.innerHTML = str;
}
#6
在innerHTML中这样传this是没有问题的
#7
但是老是报错说"缺少对象"呢,我都试过删除了那句onclick='control_beishu(this,1);',就没有报错了
#8
this都是指当前的对象,把control_beishu()这个方法贴上来
#9
跨页面调用JS?
尝试下
' window.parent.control_beishu(this,1);
看看
尝试下
' window.parent.control_beishu(this,1);
看看
#10
function control_beishu(obj,isshowmoney)
{
var tr_beishu = obj.parentElement.parentElement ;
alert(tr_beishu);
//beishutdindex:var_pub.js中已定义,初始值为0
if (tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0]!=null)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].disabled = !obj.checked;
var topbeishu;
if (FirstLoadTouzhuExpect)
{
topbeishu = 1;
}
else
{
topbeishu = topindex.document.all("selectallbieshu").value;
}
if (obj.checked)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = topbeishu;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 1;
}
else
{
topindex.document.all("selectallexpect").checked = false;
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = 0;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 0;
}
}
//SetIsZhuihao();
if (isshowmoney==1)
{
JoinExpectBeishu();
//SetExpectBeishu();
show_money();
}
var expectnum = middle.document.all("expectnumshow").innerText;
//alert(expectnum);
if(expectnum>1)
{
middle.document.all("IsZhuihao").checked = true;
}
else
{
middle.document.all("IsZhuihao").checked = false;
}
SetIsStop();
return;
}
这是control_beishu方法,贴出来给大虾看看,求助哇~~~~~~~
{
var tr_beishu = obj.parentElement.parentElement ;
alert(tr_beishu);
//beishutdindex:var_pub.js中已定义,初始值为0
if (tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0]!=null)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].disabled = !obj.checked;
var topbeishu;
if (FirstLoadTouzhuExpect)
{
topbeishu = 1;
}
else
{
topbeishu = topindex.document.all("selectallbieshu").value;
}
if (obj.checked)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = topbeishu;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 1;
}
else
{
topindex.document.all("selectallexpect").checked = false;
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = 0;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 0;
}
}
//SetIsZhuihao();
if (isshowmoney==1)
{
JoinExpectBeishu();
//SetExpectBeishu();
show_money();
}
var expectnum = middle.document.all("expectnumshow").innerText;
//alert(expectnum);
if(expectnum>1)
{
middle.document.all("IsZhuihao").checked = true;
}
else
{
middle.document.all("IsZhuihao").checked = false;
}
SetIsStop();
return;
}
这是control_beishu方法,贴出来给大虾看看,求助哇~~~~~~~
#11
在TABLE下. TR TD是不能用innerHTML写的
不知道是不是这个问题
不知道是不是这个问题
#12
楼上,TR,TD可以用innerHTML写的,LZ,是不是忘记引进JS 文件了?
#13
楼上正解也,我果然忘记引进JS了,要不找不到那方法,谢谢了,呵呵
#1
大侠,高手,天才,快点来99我吧~!!!!!!!!!!!
#2
好象确实是那句话出错了,但是忘记怎么弄了,LZ让我想下
#3
应该为:AA.innerHTML=" <tr> <td align='left' width='140' style='color:#ff0000'> <input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'</td></tr>"
你好像少了</td></tr>
你好像少了</td></tr>
#4
这个我后面都加上的了,只是因为太长了,我才简短的写了个大概,双引号里的语句我都是用+=拼凑的,所以,为了让你们大侠看了不头晕,才大概写了写的.
不过还是谢谢你
不过还是谢谢你
#5
我把源码贴出来,如下:
var digitDiv = bottom.document.getElementById("digitDiv");
var str;
var EndOverSecond;
var rows = xmlDoc.documentElement.childNodes.length;
str = "<table id='tbshowtozhuexpect' cellspacing='0' bordercolordark='#ffffff' cellpadding='3' width='100%' bordercolorlight='#A4E0FD' border='1'>";
for(var i=0;i<rows;i++)
{
if(i ==0 && TouzhuExpectType ==1)
{
str += "<tr><td align='left' width='140' style='color:#ff0000'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>"; //beishu.js
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"<span style='COLOR: #ff0000'>[当前期]</span>";
}
else
{
str += "<tr><td align='left' width='140'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>";
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data;
}
str += "</td><td align='left' width='160'>倍数:<input type='text' name='beishu_show' id='beishu_show' class='input' value='0' size='3' maxlength='10' onKeyUp=\"value=value.replace(/\\D+/g,'');set_beishuhidden(this);JoinExpectBeishu();show_money();\" onbeforepaste='BeforePaste()' disabled='disabled'/>";
str += "<span class='wzred1' id='expectmoneyshow'>0</span> 元</td>";
str += "<input type='hidden' name='expect_hidden' value='"+xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"'>";
EndOverSecond= xmlDoc.documentElement.childNodes[i].getElementsByTagName("S_time")[0].firstChild.data;
var dgendtime = (EndOverSecond.replace("T"," ")).substr(0,16);
str+= "<td align='center' id='dgendtime'>"+dgendtime+"</td></tr>";
digitDiv.innerHTML = str;
}
var digitDiv = bottom.document.getElementById("digitDiv");
var str;
var EndOverSecond;
var rows = xmlDoc.documentElement.childNodes.length;
str = "<table id='tbshowtozhuexpect' cellspacing='0' bordercolordark='#ffffff' cellpadding='3' width='100%' bordercolorlight='#A4E0FD' border='1'>";
for(var i=0;i<rows;i++)
{
if(i ==0 && TouzhuExpectType ==1)
{
str += "<tr><td align='left' width='140' style='color:#ff0000'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>"; //beishu.js
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"<span style='COLOR: #ff0000'>[当前期]</span>";
}
else
{
str += "<tr><td align='left' width='140'><input name='checkbeishu' type='checkbox' onclick='control_beishu(this,1);'/>";
str += xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data;
}
str += "</td><td align='left' width='160'>倍数:<input type='text' name='beishu_show' id='beishu_show' class='input' value='0' size='3' maxlength='10' onKeyUp=\"value=value.replace(/\\D+/g,'');set_beishuhidden(this);JoinExpectBeishu();show_money();\" onbeforepaste='BeforePaste()' disabled='disabled'/>";
str += "<span class='wzred1' id='expectmoneyshow'>0</span> 元</td>";
str += "<input type='hidden' name='expect_hidden' value='"+xmlDoc.documentElement.childNodes[i].getElementsByTagName("digit")[0].firstChild.data+"'>";
EndOverSecond= xmlDoc.documentElement.childNodes[i].getElementsByTagName("S_time")[0].firstChild.data;
var dgendtime = (EndOverSecond.replace("T"," ")).substr(0,16);
str+= "<td align='center' id='dgendtime'>"+dgendtime+"</td></tr>";
digitDiv.innerHTML = str;
}
#6
在innerHTML中这样传this是没有问题的
#7
但是老是报错说"缺少对象"呢,我都试过删除了那句onclick='control_beishu(this,1);',就没有报错了
#8
this都是指当前的对象,把control_beishu()这个方法贴上来
#9
跨页面调用JS?
尝试下
' window.parent.control_beishu(this,1);
看看
尝试下
' window.parent.control_beishu(this,1);
看看
#10
function control_beishu(obj,isshowmoney)
{
var tr_beishu = obj.parentElement.parentElement ;
alert(tr_beishu);
//beishutdindex:var_pub.js中已定义,初始值为0
if (tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0]!=null)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].disabled = !obj.checked;
var topbeishu;
if (FirstLoadTouzhuExpect)
{
topbeishu = 1;
}
else
{
topbeishu = topindex.document.all("selectallbieshu").value;
}
if (obj.checked)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = topbeishu;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 1;
}
else
{
topindex.document.all("selectallexpect").checked = false;
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = 0;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 0;
}
}
//SetIsZhuihao();
if (isshowmoney==1)
{
JoinExpectBeishu();
//SetExpectBeishu();
show_money();
}
var expectnum = middle.document.all("expectnumshow").innerText;
//alert(expectnum);
if(expectnum>1)
{
middle.document.all("IsZhuihao").checked = true;
}
else
{
middle.document.all("IsZhuihao").checked = false;
}
SetIsStop();
return;
}
这是control_beishu方法,贴出来给大虾看看,求助哇~~~~~~~
{
var tr_beishu = obj.parentElement.parentElement ;
alert(tr_beishu);
//beishutdindex:var_pub.js中已定义,初始值为0
if (tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0]!=null)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].disabled = !obj.checked;
var topbeishu;
if (FirstLoadTouzhuExpect)
{
topbeishu = 1;
}
else
{
topbeishu = topindex.document.all("selectallbieshu").value;
}
if (obj.checked)
{
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = topbeishu;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 1;
}
else
{
topindex.document.all("selectallexpect").checked = false;
tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[0].value = 0;
//tr_beishu.cells[1+beishutdindex].getElementsByTagName("input")[1].value = 0;
}
}
//SetIsZhuihao();
if (isshowmoney==1)
{
JoinExpectBeishu();
//SetExpectBeishu();
show_money();
}
var expectnum = middle.document.all("expectnumshow").innerText;
//alert(expectnum);
if(expectnum>1)
{
middle.document.all("IsZhuihao").checked = true;
}
else
{
middle.document.all("IsZhuihao").checked = false;
}
SetIsStop();
return;
}
这是control_beishu方法,贴出来给大虾看看,求助哇~~~~~~~
#11
在TABLE下. TR TD是不能用innerHTML写的
不知道是不是这个问题
不知道是不是这个问题
#12
楼上,TR,TD可以用innerHTML写的,LZ,是不是忘记引进JS 文件了?
#13
楼上正解也,我果然忘记引进JS了,要不找不到那方法,谢谢了,呵呵