js失效

手可摘星辰 2012-01-09 01:56:27

<script language="javascript" type="text/javascript">
function sum(obj) {
var rex=/(^\d+$)|(^$)/;
if(!rex.test(obj.value))
{
alert("请输入正确的数量");
document.getElementById(obj.id).focus();
return ;
}

var price = document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_Price').value;
var num = document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_Num').value;
var sum =accMul(price,num);
document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_SendTotal').value = sum;
}
function Isint(obj) {
var rex = /(^\d+\.?\d+$)|(^\d{1,3}(,\d{3})*(\.\d+)?$)|(^$)/;
if (!rex.test(obj.value)) {
alert('请输入正确的单价');
document.getElementById(obj.id).focus();
return ;
}
var price = document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_Price').value;
var num = document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_Num').value;
var sum =accMul(price,num);
document.getElementById('GridView1_ctl<%= SelectedRowInde%>_TextBox_SendTotal').value = sum;
}

function accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}


</script>


SelectedRowInde 行的索引

这是用gridview做的,不加UpdatePanel的时候验证正常,加了之后失效,看了下源文件,没获取到 SelectedRowInde 行的索引,怎么改改让他正常呢,或者换种方式验证, 那个是自动计算总额的js
...全文
211 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
手可摘星辰 2012-01-10
  • 打赏
  • 举报
回复
按照朋友的方法解决了,结贴给分
继续泛泛 2012-01-09
  • 打赏
  • 举报
回复
在调用js前,要知道行的索引,作为参数传到JS函数里
手可摘星辰 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
'GridView1_ctl<%= SelectedRowInde%>_TextBox_Price'
你应该做参数传递进来。
因为GridView里面有很多TextBox 的。你写在js里面最多只能最后一个起作用啊
[/Quote]

我看了下源文件,就向楼上说的,UpdatePanel 异步的,我的SelectedRowInde只是第一次加载的时候 缓存起来了,所以老是空的。那这个怎么改改
chen_ya_ping 2012-01-09
  • 打赏
  • 举报
回复
如果用AJAX真的不建议你用UpdatePanel ,如果用了,就不要在自己写JS代码了
孟子E章 2012-01-09
  • 打赏
  • 举报
回复
或者for(i=0;i<GridView1.rows.length)得到每行的TextBox
继续泛泛 2012-01-09
  • 打赏
  • 举报
回复
UpdatePanel内容异步的,把gridview放到UpdatePanel中,再调用后台当然调不到了
孟子E章 2012-01-09
  • 打赏
  • 举报
回复
'GridView1_ctl<%= SelectedRowInde%>_TextBox_Price'
你应该做参数传递进来。
因为GridView里面有很多TextBox 的。你写在js里面最多只能最后一个起作用啊
手可摘星辰 2012-01-09
  • 打赏
  • 举报
回复
SelectedRowInde 行的索引

点击的行的索引,虽然在后台看是获取到了,但是赋值到js里就是空了,为什吗
手可摘星辰 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhanglong_longlong 的回复:]
看的头大!
[/Quote]

主要的问题就是点击编辑的时候,获取不到索引了,gridview自带的编辑
zhanglong_longlong 2012-01-09
  • 打赏
  • 举报
回复
看的头大!
手可摘星辰 2012-01-09
  • 打赏
  • 举报
回复
来人呐呐

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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