gpt4 book ai didi

javascript - 输入错误值时脚本会重置数据

转载 作者:行者123 更新时间:2023-12-03 02:56:17 25 4
gpt4 key购买 nike

我的问题是,当我输入的值不是 json 时,脚本会重置所有收集的值。我尝试使用 else, while 语句来执行此操作,但似乎 for 循环不会循环 json。我怎么解决这个问题?数组看起来像这样:

arr = [[123, "foo", 143,99],[456, "bar", 99,99],[789, "spam", 100]]

完整代码:https://pastebin.com/xu0tKVbJ

脚本:

    var total = 0;
var price = 0;
var productsJSONList = (("{{products_json}}").replace(/&(l|g|quo)t;/g, function(a,b){
return {
l : '<',
g : '>',
quo : '"'
}[b];
}));
var prod = JSON.parse(productsJSONList);



document.getElementById('entry').onsubmit = enter;

function enter() {
var entry = document.getElementById('newEntry').value;
for (var i = 0; prod.length; i++) {
var obj = prod[i];
if (obj[0].toString() === entry.toString()) {
price = parseFloat(obj[2]);


currency = currencyFormat(price);
document.getElementById('entries').innerHTML += '<tr><td></td><td>' + currency + '</td></tr>';
total += price;
document.getElementById('total').innerHTML = currencyFormat(total);

document.getElementById('newEntry').value = '';
return false;
}
}
}


function currencyFormat(number) {
var currency = parseFloat(number);
currency = currency.toFixed(2);
currency = currency + ' zł';
return currency;
}

最佳答案

默认情况下,当您单击表单内的提交按钮时,浏览器会将您导航至表单的 action 属性中的 URL。这使得无需使用 ajax 即可提交表单并触发页面重新加载。

但是,在您的情况下,您想自己处理表单提交,因此您应该禁用默认行为。这就像在传递给 onsubmit 处理程序的事件对象上调用 preventDefault 一样简单

function enter(event) {
event.preventDefault();
...
}

关于javascript - 输入错误值时脚本会重置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47600896/

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