提问人:DazzaJ 提问时间:11/14/2023 更新时间:11/14/2023 访问量:23
在 AJAX _partial刷新失败后设置元素焦点
setting element focus after ajax _partial refresh fails
问:
我有一个包含输入的部分元素。我将当前聚焦的元素 ID 存储在父表单上的隐藏输入中。 使用 ajax 调用刷新部分元素后,我想将焦点重置回先前选择的元素。 存储和检索元素 ID 的所有功能都有效,部分刷新和其中调用的数据更新也是如此,但是当我最后设置焦点时,似乎什么也没发生。 请有人告诉我我哪里出了问题。
我正在使用 chrome 进行测试,该应用程序是使用 VS2022 和 ASP.net Core 6 编写的
下面是调用的 onChange 代码,用于刷新部分元素和任何日志记录
$(document).on('change', ".updateable", function (event) {
//if (event.type === 'change') {
//$(".updateable").change(function() {
console.log("focusHolder.val - pre refresh " + $('#focusHolder').val());
var subAgent = $('#subagentId').attr('value');
var rowId = $(this).attr('rowID');
var updatedField = $(this).attr("id").substring(0, $(this).attr("id").length - (rowId.length + 1));
var updatedValue = $(this).val();
$.ajax({
url: '/Rating/UpdateCurrentRates',
type: 'POST',
data: { subAgent_ID: subAgent, row_ID: rowId, fieldName: updatedField, newValue: updatedValue },
success: function (result) {
$("#newRates").html(result);
},
error: function (xhr, exception) {
//alert;
return false;
}
})
// .done(function () {
// console.log("focused - done " + focused);
// var focused = $('#focusHolder').val();
// $(focused).focus();
//})
.always(function () {
var focused = $('#focusHolder').val();
console.log("focused - always " + focused);
$(focused).focus();
});
console.log("ajax call finished");
});
答: 暂无答案
评论