从JQuery UI Popup中获取数据回表单

Getting data from JQuery UI Popup back to the form

本文关键字:数据 表单 获取 JQuery UI Popup      更新时间:2023-09-26

我有一个表单,当满足某些条件时,将调用JQuery UI弹出。我需要做的是,当OK按钮被按下,写什么是在弹出框的文本框到我的表单上隐藏的文本框。这可能吗?看起来我只需要稍微调整一下我的弹出窗口:

<script type="text/javascript">
    //Total out of range dialog
    $(function () {
        $("#dialog2").dialog({
            modal: true,
            autoOpen: false,
            width: 570,
            buttons: {
                "Ok": function () {
                    //I would think I just need a little code here which
                    // writes the value inside the textbox to the hidden
                    // textbox on the form?
                    $(this).dialog("close");
                }
            }
        });
    });
</script>

然后我的弹出窗口看起来像这样:

<div id="dialog2" title="ATTENTION">
    <table style="width:565px; border-spacing:0px; border-collapse:collapse;">
        <tr>
            <td style="width: 240px">
                <asp:Label ID="lblCommentBox" runat="server" Text="Comment:"></asp:Label>
                <asp:TextBox ID="txtCommentBox" runat="server" CssClass="textbox" 
                             TextMode="multiline" Wrap="True" Height="70px" Width="420px" 
                             Font-Size="Small"></asp:TextBox>
            </td>
        </tr>
    </table>
</div>

假设您有一个这样的隐藏字段:

<input type="hidden" id="hfComment" />

或ASP。. NET HiddenField:

<asp:HiddenField ID="hfComment" runat="server"></asp:HiddenField>

那么你是对的,你可以把代码放在你认为应该放在的地方:

$("#hfComment").val($("#txtCommentBox").val());

p

有时,ASP。. NET更改了ClientID,生成的HTML id与您创建的.aspx id不匹配。如果是这种情况,那么最好使用一些CSS类来实现这个目的。

例如:

<!-- Inside your pop-up (etc) -->
<asp:TextBox ID="txtCommentBox" runat="server" CssClass="textbox txt-comment-box" 
                         TextMode="multiline" Wrap="True" Height="70px" Width="420px" 
                         Font-Size="Small"></asp:TextBox>
<!-- And then, your hidden field -->
<asp:HiddenField ID="hfComment" CssClass="hf-comment" runat="server"></asp:HiddenField>

那么你的代码应该是:

$(".hf-comment").val($(".txt-comment-box").val());