JS如何实现判断一个表单某一列的所有数据 本帖最后由 sky1216520 于 2011-10-11 16:30:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以给这个表格的这列都取一个同样的名字 ,就是name属性了,然后在JS中通过name来获取这列,然后再取得值就OK了 name不能改的 每行都是一个商品 scshl是SQL语句算出来的 只想通过scshl来拦截 var tableObj = document.getElementById("tableName");...//fortableObj.rows[i].cells[3].innerText... <table id="tableId"> <tr><td>name</td><td>gg</td><td>dw</td><td>scshl</td><td>shl</td></tr> <tr><td>aa</td><td>1</td><td>10</td><td>0.00</td><td>10.00</td></tr> <tr><td>bb</td><td>2</td><td>20</td><td>0.00</td><td>0.00</td></tr> <tr><td>cc</td><td>3</td><td>30</td><td>0.00</td><td>0.00</td></tr> <tr><td>dd</td><td>4</td><td>40</td><td>0.00</td><td>0.00</td></tr> </table>(function(document){ var tableEl = document.getElementById("tableId"), trs = tableEl.getElementsByTagName("tr"), fTds = trs[0].getElementsByTagName("td"), index = 0, isAllZero = true; for (var i = fTds.length; i--;){ if (fTds[i].innerText === "scshl"){ index = i; break; } } for (var i = 1, j = trs.length; i < j; i++){ var tdEl = trs[i].getElementsByTagName("td")[index]; if (+tdEl.innerText !== 0){ isAllZero = false; break; } } if (isAllZero){ alert("全部为零"); } })(document) <table><tr><td>name</td><td>gg</td><td>dw</td><td>scshl</td><td>shl</td></tr><tr> <td>aa</td><td>10</td><td>片</td><td>10.00</td><td>10.00</td></tr><tr> <td>bb</td><td>30</td><td>克</td><td>0.00</td><td>0.00</td></tr><tr> <td>cc</td><td>50</td><td>克</td><td>0.00</td><td>0.00</td></tr></table><input type="button" value="判断" id="btn" /><script> document.getElementById('btn').onclick=function(){ var _bool=false; var _trs=document.getElementsByTagName('tr'); for(i=1,l=_trs.length;i<l;i++){ var os=_trs[i].childNodes[3].innerHTML; if(!isNaN(os)&&os>0){ _bool=true;break;} } _bool?alert("符合要求"):alert("全为0,不符合要求"); }</script> 抱歉,刚才代码FF不兼容。改成下面那个就可以了(function(document){ var tableEl = document.getElementById("tableId"), trs = tableEl.rows, fTds = trs[0].cells, index = 0, isAllZero = true; for (var i = fTds.length; i--;){ if (fTds[i].innerHTML === "scshl"){ index = i; break; } } for (var i = 1, j = trs.length; i < j; i++){ var tdEl = trs[i].cells[index]; if (+tdEl.innerHTML !== 0){ isAllZero = false; break; } } if (isAllZero){ alert("全部为零"); } })(document) 麻烦问下 7楼的liangws老师var tableEl = document.getElementById("tableId"),这段里的 ("tableId"), 这个是什么意思呢??谢谢了 我在表单里引用了您的代码以后 总是报错 提示缺少对象 应该是找不到这个("tableId")的原因吧 下面是我的表单里的存盘校验的代码//存盘校验function uf_saveCheck() { if ( IsSpace(DsMain.Field("jibie").Value) ) { alert("请货类型不能为空,是药品就选药品,是赠品就选赠品!!"); return false } if ( IsSpace(DsMain.Field("bm").Value) ) { alert("请选择部门"); return false } if (IsSpace(dssub1.Field('spid').Value)){ alert("明细项数据不完整,请检查!"); return false; } if ((DsMain.Field("leibie").Value) == '1' && (DsMain.Field("jibie").Value) == '药品' ){ var tableEl = document.getElementById("tableId"), trs = tableEl.rows, fTds = trs[0].cells, index = 0, isAllZero = true; for (var i = fTds.length; i--;){ if (fTds[i].innerHTML === "scshl"){ index = i; break; } } for (var i = 1, j = trs.length; i < j; i++){ var tdEl = trs[i].cells[index]; if (+tdEl.innerHTML !== 0){ isAllZero = false; break; } } if (isAllZero){ alert("全部为零"); } } for (var i = 0; i < dssub1.RecordCount; i++) { var shl = dssub1.GetValueAt(i, 'shl'); //var scshl= dssub1.Field('scshl').Value; //if ( shl < scshl ){ //if ( dssub1.Field('shl').Value < dssub1.Field('scshl').Value){ if(shl == 0 || shl <= 0){ alert("明细项第["+(i+1)+"]行小于零或修改数量小于自动生成的补货数量,请检查!"); return false; } }}//明细行间运算function uf_comput(field){ pf_field_comput(dssub1, field, '');}//包装换算function uf_mx_bzhs(field){ if(pf_bzhs_comput(dssub1,field,'shl','','') == true){ uf_comput("shl"); }} 你给table加个ID啊<table id="tableId"></table> 呵呵 JS真的不懂 我的表单里有dj_sn 也就是每行的序号 把("tableId")改成 ("dj_sn") 这样可以吗老师 jQuery的contents()方法 鼠标移动到一张图片上显示另外一张图片 菜鸟的SQL问题啊 打开方式 怎么让链接变色 用innerHTML载入<img src="source.gif">时图片的加载问题 ·········一个比较酷的相关词搜索引擎脚本,大家一起来扣抠··········· 用javascript调用新浪的短信发送网页 网页根据屏幕分辨率不同调用不同的css,怎么做啊。大神们帮我解决一下 js抽奖16位9开头出问题? js的prototype原理(求解) JS文件获取不到ASP控件~
...//for
tableObj.rows[i].cells[3].innerText
...
<table id="tableId">
<tr><td>name</td><td>gg</td><td>dw</td><td>scshl</td><td>shl</td></tr>
<tr><td>aa</td><td>1</td><td>10</td><td>0.00</td><td>10.00</td></tr>
<tr><td>bb</td><td>2</td><td>20</td><td>0.00</td><td>0.00</td></tr>
<tr><td>cc</td><td>3</td><td>30</td><td>0.00</td><td>0.00</td></tr>
<tr><td>dd</td><td>4</td><td>40</td><td>0.00</td><td>0.00</td></tr>
</table>
(function(document){
var tableEl = document.getElementById("tableId"),
trs = tableEl.getElementsByTagName("tr"),
fTds = trs[0].getElementsByTagName("td"),
index = 0,
isAllZero = true;
for (var i = fTds.length; i--;){
if (fTds[i].innerText === "scshl"){
index = i;
break;
}
}
for (var i = 1, j = trs.length; i < j; i++){
var tdEl = trs[i].getElementsByTagName("td")[index];
if (+tdEl.innerText !== 0){
isAllZero = false;
break;
}
}
if (isAllZero){
alert("全部为零");
}
})(document)
<tr>
<td>name</td><td>gg</td><td>dw</td><td>scshl</td><td>shl</td>
</tr>
<tr>
<td>aa</td><td>10</td><td>片</td><td>10.00</td><td>10.00</td>
</tr>
<tr>
<td>bb</td><td>30</td><td>克</td><td>0.00</td><td>0.00</td>
</tr>
<tr>
<td>cc</td><td>50</td><td>克</td><td>0.00</td><td>0.00</td>
</tr></table><input type="button" value="判断" id="btn" /><script>
document.getElementById('btn').onclick=function(){
var _bool=false;
var _trs=document.getElementsByTagName('tr');
for(i=1,l=_trs.length;i<l;i++){
var os=_trs[i].childNodes[3].innerHTML;
if(!isNaN(os)&&os>0){ _bool=true;break;}
}
_bool?alert("符合要求"):alert("全为0,不符合要求");
}</script>
var tableEl = document.getElementById("tableId"),
trs = tableEl.rows,
fTds = trs[0].cells,
index = 0,
isAllZero = true;
for (var i = fTds.length; i--;){
if (fTds[i].innerHTML === "scshl"){
index = i;
break;
}
}
for (var i = 1, j = trs.length; i < j; i++){
var tdEl = trs[i].cells[index];
if (+tdEl.innerHTML !== 0){
isAllZero = false;
break;
}
}
if (isAllZero){
alert("全部为零");
}
})(document)
这段里的 ("tableId"), 这个是什么意思呢??谢谢了
function uf_saveCheck() {
if ( IsSpace(DsMain.Field("jibie").Value) ) {
alert("请货类型不能为空,是药品就选药品,是赠品就选赠品!!");
return false
}
if ( IsSpace(DsMain.Field("bm").Value) ) {
alert("请选择部门");
return false
}
if (IsSpace(dssub1.Field('spid').Value)){
alert("明细项数据不完整,请检查!");
return false;
}
if ((DsMain.Field("leibie").Value) == '1' && (DsMain.Field("jibie").Value) == '药品' ){
var tableEl = document.getElementById("tableId"),
trs = tableEl.rows,
fTds = trs[0].cells,
index = 0,
isAllZero = true;
for (var i = fTds.length; i--;){
if (fTds[i].innerHTML === "scshl"){
index = i;
break;
}
} for (var i = 1, j = trs.length; i < j; i++){
var tdEl = trs[i].cells[index];
if (+tdEl.innerHTML !== 0){
isAllZero = false;
break;
}
} if (isAllZero){
alert("全部为零");
}
}
for (var i = 0; i < dssub1.RecordCount; i++) {
var shl = dssub1.GetValueAt(i, 'shl');
//var scshl= dssub1.Field('scshl').Value;
//if ( shl < scshl ){
//if ( dssub1.Field('shl').Value < dssub1.Field('scshl').Value){
if(shl == 0 || shl <= 0){
alert("明细项第["+(i+1)+"]行小于零或修改数量小于自动生成的补货数量,请检查!");
return false;
}
}
}
//明细行间运算
function uf_comput(field){
pf_field_comput(dssub1, field, '');
}
//包装换算
function uf_mx_bzhs(field){
if(pf_bzhs_comput(dssub1,field,'shl','','') == true){
uf_comput("shl");
}
}