我有一个表单,当满足特定条件时,它会调用 JQuery UI 弹出窗口。我需要做的是,当按下确定按钮时,将弹出窗口文本框中的内容写入表单上的隐藏文本框。这可能吗?看起来我只需要稍微调整一下弹出窗口:
<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());
附言
有时,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());
关于javascript - 从 JQuery UI Popup 获取数据返回到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589257/