Javascript在代码后面确认没有代码
我有一个页面动态添加图像按钮,我希望他们发送一个确认,当你点击它们(删除)。
由于它们是动态的,我不能在.click事件中编写任何代码。
是否有最好的方法来做到这一点? 检查是否为true,然后将其作为参数发送给代码后面的代码中的删除函数? 或者其他方式?
谢谢
如果您希望能够取消提交,请将OnClientClick
属性设置为字符串“Return”和函数名称。 客户端脚本可以通过返回false
来取消提交。
检查imagebutton clientclick属性。
void Button1_Click(Object sender, EventArgs e)
Label1.Text = "Server click handler called.";
End Sub
你的动态生成的图像按钮应该是这样的:为所有图像按钮创建commman事件哈勒,并将这些图像按钮的id
设置为主键值。
有关详细信息,请参阅响应客户端脚本中的按钮Web服务器控件事件:
您可以创建一个自定义的imagebutton用户控件,它将提供点击事件的删除功能。 在ItemRowCreated或GridView上,RowCreated事件为这些动态添加的控件分配事件驱动程序。
如果它们不在任何数据绑定控件中,那么在运行时简单地分配那些属性。
protected void Page_Init(object sender, EventArgs e)
{
ImageButton btn = new ImageButton();
btn.ID = "1";
btn.ImageUrl = "http://icons.iconarchive.com/icons/deleket/button/256/Button-Fast-Forward-icon.png";
btn.OnClientClick = "return confirm('Ready to submit.')";
btn.Click += new ImageClickEventHandler(btn_Click);
this.form1.Controls.Add(btn);
}
检查事件处理程序中的控件ID。
private void btn_Click(object sender, ImageClickEventArgs e)
{
ImageButton btn = (ImageButton)sender;
Response.Write("<script>alert('Image button with id = " + btn.ID + "clicked');</script>");
}
然后执行删除操作
使用jQuery(一个JavaScript框架)很容易,即使想要使用纯JavaScript,也需要向所有的删除图像按钮添加一个类,并为其添加一个处理程序
使用jQuery,只需使用这个:
$(".deleteImageButton").bind("click", function() {
var res = confirm("Are you sure you want to delete?");
return res;
});
在加载时“收集”了.click
和其他函数的对象,如果在此之后添加了任何元素,则需要使用.delegate
或.bind
使新元素也触发事件。