⑴ 关于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['num'+i];
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试试。
⑵ javaScript 如何实现购物车状态图
就是图片 ,然后根据不同的状态换,也可以把这个图片做成透明的,下面弄个背景为绿色的色块,让透明的图片透过去,色块的宽度通过提前设置好的根据不同的状态进行变化
⑶ javascript+jsp实现在1.html把商品放购物车,在2.html显示购物车内的信息.看问题补充
不建议用cookie, 不安全,而且浏览器可能禁止cookie
还是把购买信息保存到服务器session中, 在2.html显示
⑷ 用JavaScript代码模拟购物车。
购物车挺复杂的,不是一句两句能说清的,现在前端都用react,vue这类响应式框架做购物车,事半功倍。
⑸ 用js实现购物车(用js cookie传递数据)
不需要加id的 ,你可以直接提交数据保存到数据库,然后从数据库里检索显示在购物车页面
⑹ 淘宝购物车界面的js实现
购物车不只是js 啊
也包括后台的
不是那么容易做到的啊
⑺ 前端用js如何实现购物车功能,如图那样的效果
这是需要多个方法才能完成的
1,需要动态添加商品那一条显示的function
2,个数那个需要一个增加减少的function
3, 需要个统计总数量的
4,需要一个检测checkbox的
你做到什么程度了
⑻ js对话框,我想做一个购物车结算功能,在结算的时候会花上几秒钟时间,这时候
稍等一下,我贴个demo代码给你
这个是HTML页面
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>Demo</title>
<scripttype="text/javascript"src="
<styletype="text/css">
body{font-size:14px;}
.btn{background:#f22d00;color:#fff;display:inline-block;width:120px;height:50px;line-height:50px;text-align:center;font-family:'LantingheiSC','MicrosoftYahei';font-size:20px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;border-radius:2px;text-decoration:none;cursor:pointer;}
.mask{background:#000;opacity:0.5;height:50px;width:120px;position:absolute;left:8px;top:8px;color:#fff;line-height:50px;text-align:center;font-weight:bold;}
.maskimg{vertical-align:-3px;margin-right:5px}
</style>
</head>
<body>
<divclass="file-box">
<formmethod="post"id="demo_form">
<ahref="javascript:;"class="btn"id="J_Go"><span>结 算</span></a>
</form>
</div>
</body>
<scripttype="text/javascript">
$(document).ready(function(){
$('#J_Go').click(function(){
//修改结算按钮的背景颜色
$('#J_Go').css('background','#ccc');
//添加遮罩效果
varhtml='<spanclass="mask">';
html+='<imgsrc="loading.gif">请稍候...</san>';
$('#demo_form').append(html);
//提交表单
varurl='test.php';
$.post(url,{},function(r){
if(r.status==1){
//提交表单后返回成功,则去除遮罩
$('.mask').remove();
//修改结算按钮颜色
$('#J_Go').css('background','#f22d00');
}else{
alert(r.info);
}
},'json');
});
returnfalse;
});
</script>
</html>
这个是PHP页面
<?php
$info['status']=1;
$info['info']='操作成功!';
exit(json_encode($info));
?>
这是效果图示
本想上传个附件的,一个完整的实例Demo的,但是现在才三级,不支持上传附件。
若有任何疑问,欢迎追问!
⑼ 在HTML里用javascript做一个简单购物车部分
给楼主做了一个,JS实现商品计数的加和减,最少不能少于1,最多不大于99,代码里面有注释,方面楼主查看和使用。