-1

我的按钮 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 的末尾以进行显示。如果您在内容区域中有表单元素,但在外面有表单,那么在显示对话框后,这些元素不再是表单的子元素。

仍然不确定我该如何解决这个问题......

4

1 回答 1

1

我怀疑您需要将 parent 设置为第一种形式,如下所示-

$(".fancybox").fancybox({
    parent: "form:first" // Your jQuery selector
});
于 2013-09-12T15:01:17.273 回答