после проверки верните пустое поле с фокусом

У меня есть приложение, которое проверяет пин-код.
Когда проверка неверна, отображается сообщение об ошибке, но затем он сохраняет пин-код в поле и теряет фокус.
когда вы впервые вводите модальный код для ввода пин-кода, он фокусируется и открывает модальную клавиатуру. Я хочу то же самое, когда вам нужно снова ввести пин-код.
код ниже предназначен для фокусировки и проверки:

проверка:

    $('#suspend_sale').click(function() {
var custID  = $("#spos_customer").val(),
pin     = $("#reference_note").val();
$.ajax({
url: base_url + 'customers/validatePin',
data: {
custID: custID,
pin: pin
},
type: "get",
dataType: 'json',
success: function(response) {
if(response.valid) {
$('#hold_ref').val($('#reference_note').val());
$('#total_items').val(an - 1);
$('#total_quantity').val(count - 1);
$('#submit').click();
} else {
$("#ref_error_msg").show(function(){
setTimeout(function(){
$("#ref_error_msg").hide('slow');
}, 1000);
});
}
},
error: function() {
bootbox.alert(lang.customer_request_failed);
return false;
}
});
return false;
});

Сначала сфокусируйтесь на поле ввода:

    $('#susModal').on('shown.bs.modal', function () {
// clear input field, set focus and click to make keyboard appear
$('#reference_note').val('').focus().click();
});

Спасибо

2

Решение

Вы просто измените свой JQuery, как это. убрать клик ()

   $('#susModal').on('shown.bs.modal', function () {
// clear input field, set focus and click to make keyboard appear
$('#reference_note').val('');
$('#reference_note').focus();

});

работает нормально

1

Другие решения

Вам просто нужно добавить 1 дополнительную строку:

else {
$("#ref_error_msg").show(function(){
setTimeout(function(){
$("#ref_error_msg").hide('slow');
}, 1000);
});
//after showing the error message you need to clear the input & focus upon it
$('#reference_note').val('').focus();
}
1

По вопросам рекламы [email protected]