用JavaScript实现购物车中数量的增减。当用户点击增加时,判断数量是否大于库存。若大于库存,不执行;反之,加1。但调试后发现并没有获取到最大库存量,总是提示:undefined。如图所示:JavaScript代码如下:<script type="text/javascript">
//点击+号图,数量+1
function Plus(obj) {
var ztb1 = document.getElementById('<%= Label1.ClientID %>');
alert(ztb1.value);// 提示:undefined
obj.value = parseInt(obj.value) + 1; }
//数量-1
function Reduce(obj) {
if (obj.value > 1) {
obj.value = obj.value - 1;
}
}
//替换txtAmount文本框非整数的输入
//数据整个不合法时置1
function CheckValue(obj) {
var v = obj.value.replace(/[^\d]/g, '');
if (v == '' || v == 'NaN') {
obj.value = "1";
}
else {
obj.value = v;
}
}
</script>Product.aspx页面代码:<dl class="amount clearfix">
<dt>数 量:</dt>
<dd class="ctrl">
<a href="javascript:void(0);" class="reduce" id="areduce" runat="server">-</a>
<asp:TextBox ID="txtAmount" runat="server" Text="1"></asp:TextBox>
<a href="javascript:void(0)" class="add" id="aadd" runat="server">+</a>
</dd>
<dd class="level">
<span class="f33">
<asp:Literal ID="ltlClassifier4" runat="server"></asp:Literal>
</span>
</dd>
<dd class="level">
<span class="f99">(库存 <em id="goods_stock">
<asp:Label ID="Label1" runat="server"></asp:Label></em>
<asp:Literal ID="ltlClassifier5" runat="server"></asp:Literal>)</span>
</dd>
</dl>Product.aspx.cs页面代码:aadd.Attributes.Add("onclick", "Plus(" + txtAmount.ClientID + ")");
areduce.Attributes.Add("onclick", "Reduce(" + txtAmount.ClientID + ")");
//点击+号图,数量+1
function Plus(obj) {
var ztb1 = document.getElementById('<%= Label1.ClientID %>');
alert(ztb1.value);// 提示:undefined
obj.value = parseInt(obj.value) + 1; }
//数量-1
function Reduce(obj) {
if (obj.value > 1) {
obj.value = obj.value - 1;
}
}
//替换txtAmount文本框非整数的输入
//数据整个不合法时置1
function CheckValue(obj) {
var v = obj.value.replace(/[^\d]/g, '');
if (v == '' || v == 'NaN') {
obj.value = "1";
}
else {
obj.value = v;
}
}
</script>Product.aspx页面代码:<dl class="amount clearfix">
<dt>数 量:</dt>
<dd class="ctrl">
<a href="javascript:void(0);" class="reduce" id="areduce" runat="server">-</a>
<asp:TextBox ID="txtAmount" runat="server" Text="1"></asp:TextBox>
<a href="javascript:void(0)" class="add" id="aadd" runat="server">+</a>
</dd>
<dd class="level">
<span class="f33">
<asp:Literal ID="ltlClassifier4" runat="server"></asp:Literal>
</span>
</dd>
<dd class="level">
<span class="f99">(库存 <em id="goods_stock">
<asp:Label ID="Label1" runat="server"></asp:Label></em>
<asp:Literal ID="ltlClassifier5" runat="server"></asp:Literal>)</span>
</dd>
</dl>Product.aspx.cs页面代码:aadd.Attributes.Add("onclick", "Plus(" + txtAmount.ClientID + ")");
areduce.Attributes.Add("onclick", "Reduce(" + txtAmount.ClientID + ")");
解决方案 »
- 在asp.net中获取复选框的值
- 有个排序号递增 在删除一个排序号后 重新赋值从1开始
- 800里加急,不搞完我睡不着啦
- ASP.NET+SQL server实现三层架构的新闻系统如何定义在BLL中调用DAL层的方法
- msrdp.ocx(win远程桌面控件)的注册问题(已经郁闷几天了,请各位大虾帮帮忙!看看吧)
- dropdownlist的text有value什么区别?
- js 与 asp.net传中文 乱码问题
- 请问谁有webtimer的注册码?
- 关于datagrid数据横向显示的问题?
- 运行aspx文件时,提示如下:
- 轻博客怎么设计?
- 我的网站在VS2005能够登录用户,但是在WIN7下的IIS上运行时,就不能登录用户了,为什么呢
建议你用jquery
(风一样的自由),您好。
刚刚调试了一下ztb1.text,还是提示“undefined”.
jQuery不懂,请多多指点。
An HTMLLableElement doesn't have a text property.
If it's a simple label that contains only a single Text node,you can do:getElementById('Label1').firstChild.datathanks.
areduce.Attributes.Add("onclick", "Reduce('" + txtAmount.ClientID + "')");
没有value属性的