AEM*_*iji 2 javascript ajax jquery
嗨,我在表格上有表.当页面加载被触发时,我将焦点设置为第一个输入[type ='text'].我用ajax发布表单,如果一切正常,我将新行添加到表的顶部.现在我无法将焦点设置为新插入的行.这是我的javascript代码:
$(document).keypress(function (e) {
var key_code = e.which;
if (key_code == 13) {
$.ajax({
type: "POST",
url: "AddNewPayPackage",
data: $("#AddPackPayment").serialize(),
dataType: "text/plain",
success: function (response) {
if (response == "Saved") {
$('#myTable tbody tr:first input:text').removeAttr("tabindex");
$.get('AddNewPayPackage', function (data) {
$('#myTable tbody tr:first').before("<tr>" + data + "</tr>");
});
$('.input-validation-error').removeClass('input-validation-error');
$("form :input[type='text']:first").focus();
}
else {
$("#myTable tbody tr:first").html(response);
}
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,$.get()回调中添加的元素将在以后添加,当服务器响应返回内容时...所以你需要在发生这种情况后进行焦点...在回调中,如下所示:
$.get('AddNewPayPackage', function (data) {
$('#myTable tbody tr:first').before("<tr>" + data + "</tr>");
$("form :input[type='text']:first").focus(); //needs to run here
});
$('.input-validation-error').removeClass('input-validation-error');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11158 次 |
| 最近记录: |