我现在非常困惑。
这是我的代码:
$("#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>
编辑器包含一些输入字段。