弹出窗口中按钮的单击事件不起作用
Click event from button inside popup is not working
我正在 ASP.Net 应用程序中使用 jQuery 创建弹出窗口 window。弹出窗口在单击按钮时打开。我写了下面的代码来打开弹出窗口。
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 文件中编写的相应函数。
任何想法。
提前致谢。
帕萨
您的 onclick 没有调用该函数,因为您缺少 ()
来调用它
改变
OnClick="btnSaveUpoad_Click"
到
OnClick="btnSaveUpoad_Click()"
在单击事件上使用 Jquery 进行绑定。此外,我建议您在模型完全加载后创建按钮事件 f。
$( "#dataTable tbody tr" ).on( "click", function() {
console.log( $( this ).text() );
})
查看模态的创建和显示。您可以在以下函数中添加要初始化的事件
$( "#code" ).on('shown', function(){
alert("I want this to appear after the modal has opened!");
});
Try this for your solution:
$(document).on("click", "[id*=btnUpoad]",function () {
这可能对你有用。
jQuery 行为不同
当您直接使用 class 分配任何按钮事件时,它只会与 DOM 中的当前 class 一起使用,但是如果假设在 DOM 中添加了新的文档内容并且您想要在新添加的 DOM 元素上触发点击事件。那你就得用这个
*For current DOM
jQuery(".abc").click(function(){});*
*For dynamic dom element
jQuery(document).on("click", ".abc", function(){});*
我正在 ASP.Net 应用程序中使用 jQuery 创建弹出窗口 window。弹出窗口在单击按钮时打开。我写了下面的代码来打开弹出窗口。
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 文件中编写的相应函数。
任何想法。
提前致谢。
帕萨
您的 onclick 没有调用该函数,因为您缺少 ()
来调用它
改变
OnClick="btnSaveUpoad_Click"
到
OnClick="btnSaveUpoad_Click()"
在单击事件上使用 Jquery 进行绑定。此外,我建议您在模型完全加载后创建按钮事件 f。
$( "#dataTable tbody tr" ).on( "click", function() {
console.log( $( this ).text() );
})
查看模态的创建和显示。您可以在以下函数中添加要初始化的事件
$( "#code" ).on('shown', function(){
alert("I want this to appear after the modal has opened!");
});
Try this for your solution:
$(document).on("click", "[id*=btnUpoad]",function () {
这可能对你有用。
jQuery 行为不同 当您直接使用 class 分配任何按钮事件时,它只会与 DOM 中的当前 class 一起使用,但是如果假设在 DOM 中添加了新的文档内容并且您想要在新添加的 DOM 元素上触发点击事件。那你就得用这个
*For current DOM
jQuery(".abc").click(function(){});*
*For dynamic dom element
jQuery(document).on("click", ".abc", function(){});*