调用getJSON时阻止滚动到顶部

时间:2015-05-31 07:58:44

标签: javascript jquery ajax preventdefault

我现在非常困惑。

这是我的代码:

    $("#combinations").on("change", "input", function (e) {
        e.preventDefault();
   console.log(e)
        var $button, $row, $group, $form, $barcodeValidation, url, barcodeVal;
        $button = $(this);
        $row = $button.closest(".input-group");
        $group = $row.closest(".form-group");
        $form = $group.closest("form");
        $barcodeValidation = $row.find("#barcode-validation");
        barcodeVal = $row.find("input").val();
        url = "/Product/CheckBarcode";
        var productNumber = $form.find("#Product_Number").val();

        $.getJSON(url, {
            barcode: barcodeVal,
            productNumber: productNumber
        }).done(function (result) {
            e.preventDefault();
        }).fail(function (result) {
        });

    });

因此,当某些组合输入更改时,我想向服务器发出请求并检查一些。但由于某种原因,每次此请求发生时页面都会滚动到顶部。如果我退出Ajax请求部分,一切都很好。

我如何防止此类行为?

修改

标记:

                    <div class="row">
                        <div class="col-md-12">

                            <div class="combinations">
                                @Html.EditorFor(m => m.Combinations)
                            </div>

                        </div>
                    </div>

编辑器包含一些输入字段。

0 个答案:

没有答案