私の問題は、jsonにはないエントリ値があるときにすべての収集値をリセットすることです。私はステートメント中にこれを他のものとやろうとしましたが、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;
}
に渡されるイベントオブジェクトに
preventDefault
を呼び出すのと同じくらい簡単です。オフサイトのリンクは時間とともに消滅します。 – jmargolisvtフォームを送信しています。 'event'を' enter'に渡し、 'event.preventDefault()'に渡すべきです。これにより、検証が完了してから必要なときに提出できるようになるまで、フォームの送信が停止されます。 – Andy
私はグーグルにしようとしましたが、どうやってそれを行うのか、どこに置く必要があるのか分かりません。私は私のジャンゴプロジェクトのためにそれを行うためにjavascriptを使用していますので、私の知識が不足して申し訳ありません。 – Wakun