javascript简易购物车(JavaScript根据这个代码,做出购物车里减一个数量的效果,跪求!我实在不会!)

本文目录
JavaScript根据这个代码,做出购物车里减一个数量的效果,跪求!我实在不会!
把加变成差就可以了,注意两边的判断边界就好,也就是如果购物车中的数量等于0的时候,就不能再点减号了。如果有具体的样式加代码更好判断,这样根本理不清,哪个是哪个。
关于javaScript问题 购物车的实现
关于只有最后一个文本框能触发checknum方法的问题:
其实这里有个逻辑错误,主要是《%=i%》中的i是多少的问题。从你贴出来的代码看,你是不是连JS代码也循环输出了吧,也就是有几条购物信息,就会生成几个checknum方法,在JS里,同函数名的方法如果多次定义,则只有最后一个定义的方法有效果,那最后一个checknum方法里的《%=i%》实际就只指代最后一个文本框了。结果就是只有最后一个文本框有效果。
其实楼主只需要循环输出表格,JS代码只用一个就行了,只要在文本框触发JS动作时,把《%i%》作为参数传进JS方法就行了,例如,你可以这么写:
...
《td width="58" height="30"》《input name="num《%=i%》" size="5" type="text" value="《%=goodsitem.number%》" onBlur="checknum(this.form,《%=i%》)"》《/td》
...
把JS方法放到循环外面,这么写:
function checknum(myform,i){
var inp = myform;
if(isNaN(inp.value) || inp.value.indexOf(’.’)!=-1){
alert("请不要输入非法字符!");inp.focus();return;}//判断是否为数字值
if(inp.value》《%=leave%》){alert("请输入小于现有库存 ("+《%=leave%》+") 的数量!");inp.focus();return;}
if(inp.value==0){
alert("请输入大于1的整数!");inp.focus();return;}
if(inp.value==""){
alert("请输入修改的数量!");inp.focus();return;}
myform.submit();
}
关于数字修改后触发checknum方法的问题:
楼主的checknum方法最后是要提交表单的,所以如果用键盘事件,那每一次输入一个字符或删除一个字符,都会触发表单提交动作,这应该不是楼主要的结果。字符修改后触发JS方法有专门的事件处理方法onchange。楼主可以吧onblur换成onchange试试。

更多文章:
dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)
2026年11月6日 15:40
constantly的用法及词组(英语时态对应的时间状语都有哪些)
2026年11月6日 15:20
sql2016安装后如何打开(怎么打开sql server 2016 管理工具)
2026年11月6日 15:10
arcgis怎么设置文本框样式?用JS怎么实现一个把一个文本框中的选中内容加粗,效果基本上和编辑器的加粗效果相同急需
2026年11月6日 10:50






