gpt4 book ai didi

javascript - 购物车编码帮助

转载 作者:行者123 更新时间:2023-12-02 20:38:59 25 4
gpt4 key购买 nike

我为购物篮编写了一个简单的 Javascript 代码,但现在我意识到我在编写它时犯了一个错误,并且不知道如何修复它。我拥有的是一个带有 Javascript 的 HTML 文件,但在 Javascript 中,我已经包含了通常只在 HTML 文件中的图像源和字段,但我现在要做的是制作 2 个文件,其中一个是 .HTML 文件,另一个 .JS 文件,但我想要的只是 HTML 文件中添加到购物车的一个按钮。

目前,每个项目旁边都有一个按钮,底部有一个按钮。我需要去掉项目旁边的按钮,但我对如何做到这一点感到困惑,我还需要来自 HTML 文件的图像以及下拉框,但这也在我不这样做的 javascript 中不想。

这是我的 javascript 文件,其中嵌入了 Javascript。我已经在 HTML 中正确获取了它。

<SCRIPT type="text/javascript">
var items=['Xbox~149.99','StuffedGizmo~19.98','GadgetyGoop~9.97'];

var M='�'; var product=[]; var price=[]; var stuff='';

function wpf(product,price){var pf='<form><FIELDSET><LEGEND>'+product+'</LEGEND>';
pf+='<img src="../images/'+product+'.jpg" alt="'+product+'" ><p>price '+M+''+price+'</p> <b>Qty</b><SELECT>';
for(i=0;i<6;i++){pf+='<option value="'+i+'">'+i+'</option>'} pf+='</SELECT>';
pf+='<input type="button" value="Add to cart" onclick="cart()" /></FIELDSET></form>';
return pf
}

for(j=0;j<items.length;j++){
product[j]=items[j].substring(0,items[j].indexOf('~'));
price[j]=items[j].substring(items[j].indexOf('~')+1,items[j].length);
stuff+=''+wpf(product[j],price[j])+'';
}
document.getElementById('products').innerHTML=stuff;

function cart(){ var order=[]; var tot=0
for(o=0,k=0;o<document.forms.length;o++){
if(document.forms[o].elements[1].value!=0){
qnty=document.forms[o].elements[1].value;
order[k]=''+product[o]+'_'+qnty+'*'+price[o]+'';
tot+=qnty*price[o];k++
}
}
document.getElementById('inCart').innerHTML=order.join('<br>')+'<h3>Total '+tot+'</h3>';
}
</SCRIPT>

这有道理吗?我不确定我的解释是否正确。

最佳答案

就是这里了。虽然还有很多需要改进的地方,但它确实有效。

HTML 文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Shopping</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<STYLE type=text/CSS>
fieldset {width:300px}
legend {font-size:24px;font-family:comic sans ms;color:#004455}
</STYLE>
</HEAD>
<BODY scroll="auto">
<div id="products"></div><hr>
<div id="inCart"></div>
<input type="button" value="Add to cart" onclick="cart()" />
</BODY>
<SCRIPT type="text/javascript" src="cart.js"></SCRIPT>
</HTML>

Javascript 文件:

var items =
[
{'id':1, 'name':'Xbox', 'desc':'The best gaming console from Microsoft', 'price':149.99, 'image_src': '', 'qty':0},
{'id':2, 'name':'Stuffed Gizmo', 'desc':'This gizmo is stuffed with stuff', 'price':19.98, 'image_src': '', 'qty':0},
{'id':3, 'name':'Gadgety Goop', 'desc':'', 'price':9.00, 'image_src': '', 'qty':0}
];

var M = '£';
var stuff = '';
var order = [];
var tot = 0;

for(j=0;j<items.length;j++) {
stuff+=''+wpf(j)+'';
}
document.getElementById('products').innerHTML=stuff;

function wpf(j) {
var pf='';

pf+='<form name="frm_cart_'+j+'">';
pf+='<fieldset><legend>'+items[j].name+'</legend>';
pf+='<img src="../images/'+items[j].image_src+'" alt="Image of '+items[j].name+'" >';
pf+='<p>'+items[j].desc+'</p>';
pf+='<p>Price:'+M+''+items[j].price+'</p>';
pf+='<b>Qty</b>';
pf+='<select id="qty_'+j+'">';
for(i=0;i<6;i++) {
pf+='<option value="'+i+'">'+i+'</option>'
}
pf+='</select>';
pf+='</fieldset>';
pf+='</form>';
return pf;
}

function cart() {
var sel_elems = document.getElementsByTagName('select');
k=0;
for (i=0; i < sel_elems.length; i++) {
if (sel_elems[i].id.substring(0, 4) == 'qty_' && sel_elems[i].value > 0) {
console.log(i, sel_elems[i].value);
order[k]=''+items[i].name+'_'+sel_elems[i].value+'*'+items[i].price+'';
tot += sel_elems[i].value*items[i].price;
k++;
}
}

document.getElementById('inCart').innerHTML=order.join('<br>')+'<h3>Total '+tot+'</h3>';
}

关于javascript - 购物车编码帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com