【发布时间】:2015-11-11 12:57:13
【问题描述】:
我有一个 asp.net webform 应用程序,用户单击一个按钮,然后显示一个包含 3 个字段的模式。我添加了一个OnTextChanged 和AutoPostBack="true",因为我有代码检查第一个输入的名称当前是否存在。但是,当我标记出该字段时,我的模式关闭了,我需要它保持打开状态。
我有一个非常相似的情况,手风琴是由 Jquery 和 asp:HiddenField 工作的,但我尝试更改代码无济于事。
模态的部分 HTML
<div class="form-group">
<asp:Label ID="lblPlace" runat="server" Class="col-sm-3 control-label" Text="Place" AssociatedControlID="fldPlace" />
<div class="col-sm-6">
<asp:TextBox ID="fldPlace" runat="server" class="form-control" AutoPostBack="true" OnTextChanged="fldPlace_TextChanged" />
</div>
</div>
我用于手风琴的代码是
HTML
<asp:HiddenField runat="server" ID="toKeepRemoveAccordionOpen" />
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="txtRemoveUser" CssClass="col-sm-offset-2 col-sm-3 control-label">Enter Name To Be Removed</asp:Label>
<div class="col-sm-3">
<asp:TextBox runat="server" ID="txtRemoveUser" CssClass="form-control" AutoPostBack="true" OnTextChanged="txtRemoveUser_TextChanged" />
</div>
</div>
JQuery
$('document').ready(function ()
{
var hdnFldId = '<%= toKeepRemoveAccordionOpen.ClientID %>';
$("#MainContent_txtRemoveUser").on("blur", function ()
{
//Sets value of hidden field to show panel after postback
$('#' + hdnFldId).val(true);
});
if ($('#' + hdnFldId).val() == 'true')
{
showPanel();
// Resets the value
$('#' + hdnFldId).val(false);
}
function showPanel()
{
if ($('#MainContent_txtRemoveUser').val() != '')
{
$('.panel-collapse').removeClass('collapse').addClass('in');
}
}
});
我确实尝试了以下JQuery
$('document').ready(function () {
var hdnFldId = '<%= toKeepRemoveAccordionOpen.ClientID %>';
$("#MainContent_fldPlace").on("blur", function () {
//Sets value of hidden field to show panel after postback
$('#' + hdnFldId).val(true);
});
if ($('#' + hdnFldId).val() == 'true') {
showPanel();
// Resets the value
$('#' + hdnFldId).val(false);
}
function showPanel() {
if ($('#MainContent_fldPlace').val() != '') {
//$('.modal').addClass('in');
$('.modal').removeClass('fade').addClass('fade in');
}
}
});
模态框的主类是modal fade,当它显示时它变为modal fade in。
【问题讨论】:
-
尝试将整个元素包装在 updatePanel 中,然后在模式中添加带有输入元素 ID 的 postbacktrigger
标签: javascript jquery asp.net webforms