按钮在fancybox中显示时不回发

时间:2013-09-11 21:56:15

标签: jquery asp.net fancybox

我的按钮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的末尾以用于显示目的。如果您在内容区域中有表单元素,但表单外部,则在显示对话框后,元素不再是表单的子项。

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

1 个答案:

答案 0 :(得分:1)

我怀疑你需要将父设置为第一个表单,如下所示 -

$(".fancybox").fancybox({
    parent: "form:first" // Your jQuery selector
});