首页 > 解决方案 > 弹出窗口内按钮的单击事件不起作用

问题描述

我正在我的 ASP.Net 应用程序中使用 jQuery 创建一个弹出窗口。弹出窗口在按钮单击时打开。我编写了以下代码来打开弹出窗口。

html代码:

        <%-- Popup --%>
        <div id="modal_dialog" class="PopupStyle" style="display: none;">
            <table>
                <tr>
                    <td style="width: 100px">
                        <label class="control-label">Photo</label>
                    </td>
                    <td>
                        <asp:FileUpload ID="FileUpload1" runat="server" />
                        <asp:RegularExpressionValidator
                            ID="regexValidateImageFil" runat="server" ControlToValidate="FileUpload1"
                            ErrorMessage="Only file types with jpg, png, gif are allowed."
                            ValidationExpression="^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.bmp|.BMP|.gif|.GIF|.png|.PNG|.pdf)$"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td style="width: 100px">
                        <label class="control-label">File Type</label>
                    </td>
                    <td>
                        <asp:DropDownList ID="ddlUpFileType" runat="server" class="form-control" Width="400px">
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td style="width: 100px">
                        <label class="control-label">Note</label>
                    </td>
                    <td>
                        <asp:TextBox ID="txtNotes" runat="server" class="form-control" MaxLength="150" Width="400px"></asp:TextBox>
                    </td>
                </tr>
            </table>
            <div style="padding: 10px">
            </div>
            <asp:Button ID="btnSaveUpoad" runat="server" class="btn btn-primary" Text=" Upload File " OnClick="btnSaveUpoad_Click" />
        </div>
    </form>
</div>

和 jQuery 代码:

<script type="text/javascript">
    $(document).ready(function () {
        $("[id*=btnUpoad]").on("click", function () {
            debugger;
            $("#modal_dialog").dialog({ width: 520 });

            $("#modal_dialog").dialog({
                title: "Upload Files",
                buttons: {
                    Close: function () {
                        $(this).dialog('close');
                    }
                },
                modal: true
            });
            return false;
        });
    });
</script>

如您所见,我的 html 中有一个按钮,即

<asp:Button ID="btnSaveUpoad" runat="server" class="btn btn-primary" Text=" Upload File " OnClick="btnSaveUpoad_Click" />

但是单击事件(来自弹出窗口内的按钮,即 btnSaveUpoad)没有调用 .cs 文件中编写的相应函数。

任何的想法。

提前致谢。

帕塔

标签: jquery.netpopupwindow

解决方案


Try this for your solution:
$(document).on("click", "[id*=btnUpoad]",function () {

这可能对你有用。

jQuery 的行为不同 当您直接使用类分配任何按钮事件时,它将仅适用于 DOM 中的当前类,但如果假设在 DOM 中添加了新的文档内容并且您想在该新添加的 DOM 元素上触发单击事件。然后你必须这样做

   *For current DOM 
    jQuery(".abc").click(function(){});*

    *For dynamic dom element 
    jQuery(document).on("click", ".abc", function(){});*

推荐阅读