(环境:linux+apache+php5)想把函数中“总计”的值显示为checkbox选中后的文件大小的总和,测试时提示: ftrs = document.getElementByName('file_list[]');(是取checkbox)不合法?

katelyn 2008-11-14 04:45:55
修改后的:(为红色部分)
function InitDialogData( dialog_name )
{
switch(dialog_name)
{
case 'dialog_addnew':
http_request = GetXmlHttpObj();
http_request.onreadystatechange = InitDialogAddNew;
http_request.open('GET', 'http://<?=$_SERVER["HTTP_HOST"]?>/bt/configinfo.htm?panel=category&username=jerald', true);
http_request.send(null);
break;
case 'dialog_setting':

task_id = document.getElementById('form_setting').task.value;
var file_list_table = document.getElementById('dialog_table_file_list');
while ( file_list_table.rows.length > 0 )
{
file_list_table.deleteRow( 0 );
}

var f_new_id = 1;

for( f_id in taskfilelist[ task_id ] )
{
if( f_id == "downloaded" || f_id == "time" || f_id == "avg_down_rate" )
{
continue;
}

tr = document.createElement("tr");
tr.id = f_id;

//tr.value = file_list[i].selectSingleNode( 'size' ).text;
td = document.createElement("td");
td.width = "25px";
td.align = "center";
td.className = "normal_data";
if( f_id != "total" )
{
td.innerHTML = "<input type=\"checkbox\" id=\"file_" + f_id + "\" name=\"file_list[]\" value=\""+ f_id +"\">";


}
else
{
td.innerHTML = " ";
}
tr.appendChild( td );

td = document.createElement("td");
td.width = "35px";
td.align = "right";
td.className = "normal_data";

var ftrs = document.getElementByName('file_list[]');
var i=0; var checked=false; var sum =0;
for( ; i<ftrs[i].checked.length ; i++)
{
if(ftrs[i].checked)
{
var strs = document.getElementById( f_id );

}
sum = sum + parseInt(taskfilelist[ task_id ][ strs ][ 'size' ]);
}

if( f_id != "total" )
{
td.innerHTML = "" + f_new_id + "  ";
tr.appendChild( td );
f_new_id ++;

}
else
<!-- -this place modify->
{
td.innerHTML = "总计"+ sum;

}



tr.appendChild( td );

td = document.createElement( "td" );
td.id = "td_id";
td.width = "80px";
td.align = "right";
td.className = "normal_data";
td.innerText = taskfilelist[ task_id ][ f_id ][ 'size' ];
tr.appendChild( td );

td = document.createElement( "td" );
td.className = "normal_data_nowrap";
td.innerHTML = taskfilelist[ task_id ][ f_id ][ 'name' ];
tr.appendChild( td );

file_list_table.firstChild.appendChild( tr );

}
http_request_downloadfiles = GetXmlHttpObj();
http_request_downloadfiles.onreadystatechange = SetDownloadFiles;
http_request_downloadfiles.open('GET', 'http://<?=$_SERVER["HTTP_HOST"]?>/bt/taskinfo.htm?panel=setting&task_id='+ task_id, true);
http_request_downloadfiles.send(null);
break;
}
}


修改前的:

function InitDialogData( dialog_name )
{
switch(dialog_name)
{
case 'dialog_addnew':
http_request = GetXmlHttpObj();
http_request.onreadystatechange = InitDialogAddNew;
http_request.open('GET', 'http://<?=$_SERVER["HTTP_HOST"]?>/bt/configinfo.htm?panel=category&username=jerald', true);
http_request.send(null);
break;
case 'dialog_setting':

task_id = document.getElementById('form_setting').task.value;
var file_list_table = document.getElementById('dialog_table_file_list');
while ( file_list_table.rows.length > 0 )
{
file_list_table.deleteRow( 0 );
}

var f_new_id = 1;

for( f_id in taskfilelist[ task_id ] )
{
if( f_id == "downloaded" || f_id == "time" || f_id == "avg_down_rate" )
{
continue;
}

tr = document.createElement("tr");
tr.id = f_id;
td = document.createElement("td");
td.width = "25px";
td.align = "center";
td.className = "normal_data";
if( f_id != "total" )
{
td.innerHTML = "<input type=\"checkbox\" id=\"file_" + f_id + "\" name=\"file_list[]\" value=\""+ f_id +"\">";
}
else
{
td.innerHTML = " ";
}
tr.appendChild( td );

td = document.createElement("td");
td.width = "35px";
td.align = "right";
td.className = "normal_data";
if( f_id != "total" )
{
td.innerHTML = "" + f_new_id + "  ";
tr.appendChild( td );
f_new_id ++;
}
else
{
td.innerHTML = "总计  "; }
tr.appendChild( td );

td = document.createElement( "td" );
td.width = "80px";
td.align = "right";
td.className = "normal_data";
td.innerText = taskfilelist[ task_id ][ f_id ][ 'size' ];
tr.appendChild( td );

td = document.createElement( "td" );
td.className = "normal_data_nowrap";
td.innerHTML = taskfilelist[ task_id ][ f_id ][ 'name' ];
tr.appendChild( td );

file_list_table.firstChild.appendChild( tr );


}
http_request_downloadfiles = GetXmlHttpObj();
http_request_downloadfiles.onreadystatechange = SetDownloadFiles;
http_request_downloadfiles.open('GET', 'http://<?=$_SERVER["HTTP_HOST"]?>/bt/taskinfo.htm?panel=setting&task_id='+ task_id, true);
http_request_downloadfiles.send(null);
break;
}
}
...全文
85 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
katelyn 2008-11-15
  • 打赏
  • 举报
回复
是分太少了吗?没有人回啊?非常希望有人能帮我解决一下这个问题,谢谢了。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧