У меня есть скрипт в js, который ищет внутри textBox
из gridview
, который работает очень хорошо, но я нахожу проблему, каждый раз, когда я запускаю эту функцию, когда нажимаю Enter, потому что она всегда вызывает обратную передачувыполнение кода, который вам не всегда нужно запускать.это поле gridView -> onfocus = "run_routine (this)":
<input style="font-weight: bold; font-size:14px; text-align: center" id="arrivo" class='nome_<%# Eval("BOD_ABARCODE")%> colored form-control' data-barcode='<%# Eval("BOD_ABARCODE")%>' maxlength="18" name='<%# Eval("BOD_KCODPRU").ToString +"-" + Eval("BOD_KCODCAB").ToString %>' onkeyup="enter(this)" oncopy="return false" oncut="return false" onfocus="esegui_routine(this)" onkeypress="return CheckNumericValue(event)" size="5" type="text" value='<%# Eval("BOD_SQUANTIT")%>' />
ниже фрагмента функции в js, куда я должен вставить protectDefault, но я пробовал везде, и это не работаетдля меня:
function esegui_routine(oggetto)
{
var barcode = $(oggetto).attr('data-barcode');
var valoreIniziale = $(oggetto).val();
$(document).removeData();
$(document).data('valoreIniziale', valoreIniziale);
$(oggetto).select();
$(oggetto).off('keypress').on('keypress', function (event) {
if (event.which == '13') {
var inserito = $(this).val();
if (inserito.length != 0) {
if (inserito.length <= 4) {
var elementi = $.fn.doppio(barcode);
if (elementi == 0) {
//BARCODE NON TROVATO : play sound e rimetto il valore precedente cancellando il barcode inserito
$.fn.playSound();
//devo rimettere il valore precedente
$(oggetto).val($(document).data('valoreIniziale')).select();
}
else if (elementi == 1) {
console.log('barcode: ' + barcode);
$.fn.settaValore(barcode, inserito);
}
else if (elementi > 1) {
var kcodpru = oggetto.name;
console.log('kcodpru: ' + kcodpru);
$.fn.settaValoreDaKcodpru(kcodpru, inserito);
}
//console.log('eccomi minore di 4')
}
}
}
});
Спасибо и хорошей работы всем