【问题标题】:ASP.NET postBack post Enter Textbox on javascriptASP.NET postBack post在javascript上输入文本框
【发布时间】:2019-10-10 17:25:12
【问题描述】:

我在 js 中有一个脚本,可以在 textBoxgridview 中搜索,效果很好, 然而,我发现的问题是,每次我按 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")%>' />

下面是我应该插入 preventDefault 的 js 函数的摘录,但我到处都试过了,但它对我不起作用:

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')
                            }
                        }
                    }
                });

谢谢大家,祝大家工作顺利

【问题讨论】:

  • 在必要时添加return false,我更改了声音.mp3的功能,一切正常

标签: javascript asp.net postback preventdefault


【解决方案1】:

我猜你正在按下提交按钮,这会导致表单回发。 用 a 代替

&lt;button id = "btnSubmit"&gt;Submit&lt;/button&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 2019-02-02
    • 1970-01-01
    • 2012-11-29
    • 2016-06-15
    • 1970-01-01
    • 2016-10-07
    相关资源
    最近更新 更多