Ошибка времени выполнения JavaScript: невозможно вызвать методы в диалоговом окне до инициализации; пытался позвонить "закрыть"

0

Я новичок в Javascript. Я использую jQuery 1.11.0 и jQuery UI 1.10.4 и маску плагина. Я вызываю функцию closeDialog в коде позади. Я получаю ошибку 0x800a139e - ошибка времени выполнения JavaScript: не может вызывать методы в диалоге до инициализации; попытался вызвать метод "закрыть". Я искал все, но безрезультатно. Как инициализировать диалог? Любая помощь приветствуется.

<script type="text/javascript">
$(document).ready(function () {
    $("#tabs").tabs()

    var source = $("#dialog").parent()

    $("#dialog").dialog({
        //autoOpen: true,
        height: 130,
        width: 325,
        open: function (type, data) {
            $(this).parent().appendTo(source)
        },
        close: function (type, data) {
            $(this).remove()
        }
    })

    $(".datepicker").datepicker() 

    $(".phonenumber").mask("(999) 999-9999")

    $(".zipcode").mask("00000-0000")

})

function closeDialog() {
    $("#dialog").dialog("close")
}

function disableTabs() {
    $("#tabs").tabs({
        disabled: [1, 2]
    })
}

function enableTabs() {
    $("#tabs").tabs({
        disabled: []
    })
}

function alertBox() {
    alert("Please choose a valid selection.")
}

 Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
   If Not Page.IsPostBack Then
           Dim script As String = "closeDialog();"
           ScriptManager.RegisterStartupScript(Me, Me.GetType(), "CloseDialog", script, True)
        End If
    End If
End Sub
Теги:
jquery-ui-dialog

2 ответа

0
Лучший ответ

Метод pageLoad() вызывается для каждой частичной обратной передачи панели обновления, но $ (document).ready() не вызывается для каждой частичной обратной передачи панели обновления. $ (document).ready() вызывается только один раз (в первый раз при загрузке страницы). Следовательно, код, написанный в методе $ (document).ready(), не будет инициализирован для каждой частичной обратной передачи.

1

Похоже, ваша функция closeDialog вызывается до завершения документа. Попробуйте использовать метод ScriptManager.RegisterClientScriptBlock вместо ScriptManager.RegisterStartupScript.

  • 0
    Я попробовал это, но это не закрыло диалог.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню