我的按钮 lbtnInsert 发回,因此当我的表格未显示在 fancybox 灯箱中时,当我单击它时可以正常工作。但是,当表显示在灯箱中时,该按钮不再起作用。该按钮的代码隐藏永远不会被击中,并且我的 Chrome 控制台中没有显示任何脚本错误。
为什么?
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('#viewtaskdetail').trigger('click');
});
</script>
<a id="viewtaskdetail" title="Task details" href="#addnewitem">Try now</a>
<div id="addnewitem">
<table>
<tr>
<td><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:glossary,title %>" /></td>
<td>
<asp:TextBox ID="tbTitle" runat="server" CssClass="textbox" MaxLength="100" ValidationGroup="inserttask" Width="400" />
<asp:RequiredFieldValidator CssClass="errortext" ID="fdgRequiredFieldValidator1" runat="server" ControlToValidate="tbTitle" Display="Dynamic" ErrorMessage="<%$Resources:Glossary,required %>" ValidationGroup="inserttask" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="lbtnInsert" Text="<%$Resources:glossary,save %>" ValidationGroup="inserttask" CssClass="btn-primary" runat="server"/>
</td>
</tr>
</table>
</div>
更新:
发现 Fancybox 像大多数 JavaScript 模态一样,将其内容移动到 dom 的末尾以进行显示。如果您在内容区域中有表单元素,但在外面有表单,那么在显示对话框后,这些元素不再是表单的子元素。
仍然不确定我该如何解决这个问题......