JS 控件innerHTML方法传参数this的问题 应该为: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> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我把源码贴出来,如下: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; } 在innerHTML中这样传this是没有问题的 但是老是报错说"缺少对象"呢,我都试过删除了那句onclick='control_beishu(this,1);',就没有报错了 this都是指当前的对象,把control_beishu()这个方法贴上来 跨页面调用JS?尝试下'window.parent.control_beishu(this,1);看看 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方法,贴出来给大虾看看,求助哇~~~~~~~ 在TABLE下. TR TD是不能用innerHTML写的 不知道是不是这个问题 楼上,TR,TD可以用innerHTML写的,LZ,是不是忘记引进JS 文件了? javascript获取另外一个网页的内容 关于extjs 异步加载树的自动展开到某个节点的问题 如何把两个表单提交到同一位置!? 复选框JS判断问题 MzTreeView有鼠标按下事件吗? 动态表格如何合并 请问WIN98干净系统中,如何支持数据库SQL查询? 做了一个效果,不知道大家能不能用上 请问怎么控制输入框、下拉列表等表单元素的风格? 如何实现点击表单的提交按钮时,同时实现表单数据检测和开新窗口(新窗口为数据提交后的页面)? 没看明白这中写法 javascript在自定义添加事件后,firefox如何读取事件event对象
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;
}
尝试下
'window.parent.control_beishu(this,1);
看看
{
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方法,贴出来给大虾看看,求助哇~~~~~~~
不知道是不是这个问题