获取 jquery 对话框的 ui 元素值

Getting ui element value of jquery dialog

我有两个网络表单,例如webform1 和 webform2 。我将 webform2 称为来自 webform1 的对话框。我想在对话框的单击按钮事件中访问 ui 元素(例如隐藏字段)。 当焦点在对话框 (webform2) 上时,我可以在控制台中获取隐藏字段值,但是当我单击对话框按钮并在 JS 中执行按钮事件代码时,隐藏字段值变为未定义。

$(function () {
    $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        width: 950,
        title: "Add Lines to Manual Invoice",
        close: function () {
            $(this).dialog("close");
        },
        buttons: {

            okay: function () {

                console.log($('#HiddenField1').val()) // This is undefined while i want to access webform2 vlaue
                $(this).dialog("close");

            }
        },
        show: {
            effect: "slide",
            duration: 1500
        }
    });
    $("#opener").click(function () {
        $("#dialog").dialog('open');
        return false;
    });
});

我在 iframe 标签中加载了 webform2,如下所示:

<button id="opener">open the dialog</button>
<div id="dialog" title="Dialog Title"><iframe style="border: 1px;height:700px;width:930px;" src="WebForm2.aspx"></iframe></div>

我已经用下面的代码行解决了这个问题。

$(this).find('iframe').contents().find('[id="HiddenField1"]').val()