Входные данные, обновленные через JS, не отправляются - PullRequest
0 голосов
/ 15 ноября 2009

Входные значения счета-фактуры, в которых содержатся итоги позиций строк счета-фактуры, которые обновляются через JS, возвращают значение NULL при их отправке.

<span class="sublabel">Subtotal</span><input type="text" class="total-box" id="product-subtotal" readonly="true" />
<span class="sublabel">Tax</span><input type="text" class="total-box" id="product-tax" readonly="true" />
<span class="sublabel">Total</span><input type="text" class="total-box" id="order-total" readonly="true" />

JS

function calcProdSubTotal() {

    var prodSubTotal = 0;

    $(".row-total-input").each(function(){

        var valString = $(this).val() || 0;

        prodSubTotal += parseInt(valString);

    });

    $("#product-subtotal").val(prodSubTotal);

    };

function calcTaxTotal() {

    var taxTotal = 0;
    //var taxAmount = 10;   
    var taxAmount = $("#salesTaxAmount").val() || 0;

    var productSubtotal = $("#product-subtotal").val() || 0;

    var taxTotal = parseInt(productSubtotal) * parseInt(taxAmount) / 100;
    var taxTotalNice = taxTotal;
    $("#product-tax").val(taxTotalNice);

};

function calcOrderTotal() {

    var orderTotal = 0;

    var productSubtotal = $("#product-subtotal").val() || 0;
    var productTax = $("#product-tax").val() || 0;

    var orderTotal = parseInt(productSubtotal) + parseInt(productTax);
    var orderTotalNice = "$" + orderTotal;

    $("#order-total").val(orderTotalNice);

};



$(function(){
    $('.row-total-input').each(
        function( intIndex ){
            $('.invAmount').livequery('blur', function() {
                    var $this = $(this);
                    var amount = $this.val();

                    var qty = $this.parent().find('.invQty').val(); 

                    if ( (IsNumeric(amount)) && (amount != '') ) {           
                        var rowTotal = qty * amount;   
                        $this.css("background-color", "white").parent().find(".row-total-input").val(rowTotal); 
                    } else {        
                        $this.css("background-color", "#ffdcdc");                     
                    };                              
                    calcProdSubTotal(); 
                    calcTaxTotal()
                    calcOrderTotal();
            });
        }
    );
});

У меня изначально были отключены входы, но я изменил их на чтение только потому, что отключенные поля не могут быть отправлены.

Что мне не хватает?

Заранее спасибо.

1 Ответ

3 голосов
/ 15 ноября 2009

Вы не установили атрибут name в своих <input /> s, поэтому PHP не может получить доступ к их значениям и ничего не возвращает, когда вы ищете $_POST['product-tax']. Если вы установили error_reporting на E_ALL, вы должны увидеть уведомление о том, что вы пытаетесь обратиться к неопределенному индексу в массиве $_POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...