0

以下のコード ブロックは、ユーザーが数量、価格、支払いフィールドに数値を入力した後、調整された口座残高をサーバーに要求します。フィールドに追加--10すると、サーバーでエラーがスローされます。そのため、NaN チェックを追加しましたadjustment === adjustment。このようにして、調整額が数値の場合にのみリクエストを送信する必要があります。なんらかの理由で、私はまだ奇妙なものがサーバーに送信されています--10...

基本的に、実際に数字の場合にのみリクエストを送信する必要があります。

var quantity = $("#id_quantity").val();
    var price = $("#id_price").val();
    var payment = $("#id_payment_amount").val();
    var adjustment = quantity * price - payment;
    // Don't send if Not a number (NaN).
    if (adjustment === adjustment) {
        $.get("/balance_after_adjustment", {amount: adjustment}, function(response) {
            $("span").text(response);
        });
    }
4

2 に答える 2

1

私はおそらくこのようなことを試みるだろう

var quantity = parseInt($("#id_quantity").val(),10),
 price = parseInt($("#id_price").val(),10),
 payment = parseInt($("#id_payment_amount").val(),10),
 adjustment = quantity * price - payment;
if (!isNaN(adjustment)) {
    $.get("/balance_after_adjustment", {amount: adjustment}, function(response) {
        $("span").text(response);
    });
}
于 2013-10-08T19:54:17.443 に答える
-1

メソッドによって返される文字列が整数としてキャストされる+ように、ステートメントの前に a を置きますval

var quantity = +$("#id_quantity").val(),
    price = +$("#id_price").val(),
    payment = +$("#id_payment_amount").val();
于 2013-10-08T20:02:19.407 に答える