簡體   English   中英

在Enter鍵上確認Jquery UI對話框提示

[英]Confirm Jquery UI Dialog Prompt on Enter Key

我已經嘗試了以下堆棧中建議的技術,但沒有運氣:

在<Enter>上提交jQuery UI對話框

我的代碼必須關閉一些東西。 登錄時,我有一個免責聲明,警告用戶該網站內的信息是保密的。 我想繼續,所有用戶要做的就是點擊回車鍵。 這是我的原始代碼(我已經包含瀏覽器檢查):

  $("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": function (e) {
                    $("#loginForm").unbind('submit').submit(),
                    $(this).dialog("close"),
                    $("#loginForm").submit();
                    $("#btnLogin").click();
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            }

        })
    }
    else {
        $("#dialog-browser")
        .dialog({
            resizable: false,
            height: 220,
            width: 480,
            modal: true,
            buttons: {
                "Close": function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            }
        })
    };
});

現在這里是我的代碼與keyup命令:

$("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": function (e) {
                    $("#loginForm").unbind('submit').submit(),
                    $(this).dialog("close"),
                    $("#loginForm").submit();
                    $("#btnLogin").click();
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            },
  HERE>>>      open: function() { 
                $("#dialog-confirm").keypress(function(e) { 
                  if (e.keyCode == $.ui.keyCode.ENTER) { 
                    $("#loginForm").unbind('submit').submit(),
                    $(this).dialog("close"),
                    $("#loginForm").submit();
                    $("#btnLogin").click(); 
                  } 
                }); 
              } 
        })
    }
    else {
        $("#dialog-browser")
        .dialog({
            resizable: false,
            height: 220,
            width: 480,
            modal: true,
            buttons: {
                "Close": function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            }
        })
    };
});

不幸的是,這不適合我,我不能為我的生活弄清楚為什么? 如果有人能看到問題所在,我將非常感激!

謝謝!!

我把它放在一邊大部分時間,只是重新審視它。 我搞定了! 這是我的代碼:

$("#loginForm").submit(function (e) {
    e.preventDefault();

    if ($.browser.msie) {
        $("#dialog-confirm")
        .dialog({
            resizable: false,
            height: 300,
            width: 550,
            modal: true,
            buttons: {
                "Continue": {
                    text: "Continue",
                    id: "btnContinue",
                    click: function (e) {
                        $("#loginForm").unbind('submit').submit(),
                        $(this).dialog("close"),
                        $("#loginForm").submit();
                        $("#btnLogin").click();
                    }
                },
                Cancel: function (e) {
                    e.preventDefault();
                    $(this).dialog("close");
                }
            },
            open: function () {
                $(document).keydown(function (event) {
                    if (event.keyCode == 13) {
                        $("#btnContinue").click();
                    }
                });
            }
        })
    }

基本上,我在對話框中分配了一個ID值,而不是$(“#dialog-confirm”)。keydown我使用了$(document).keydown。 由於該功能僅在對話框打開后設置,因此不一定會影響頁面的其余部分。 在keydown函數內部,我按下了我通過ID調用的繼續按鈕。

感謝大家的幫助。

試試這個:

$("#dialog-confirm").keydown(function (event) {
        if (event.keyCode == 13) {
            // Submit it
        }
    });

如果對話框中沒有任何要獲得焦點的元素(即:輸入元素),您可以嘗試此問題中建議的方法: jquery-ui對話框:在對話框中創建一個默認操作按鈕(Enter鍵)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM