ASP按钮点击确认
问题描述:
我有这样的代码里面的GridView:ASP按钮点击确认
<asp:TemplateField >
<ItemTemplate>
<input type="button" id="Button98"
usesubmitbehavior="true"
Text="pavadinimas"
onclientclick="ConfirmOnDelete()"
onclick="location.href='SMSReport.aspx?data=<%#Eval("data")%>&db=1'"
/>
<script type="text/javascript" language="javascript">
function ConfirmOnDelete()
{
if (confirm("Are you sure?")==true)
return true;
else
return false;
}
</script>
</ItemTemplate>
</asp:TemplateField>
我不知道为什么,但部分的OnClientClick不工作。我正在寻找和尝试许多解决方案,但非工作。任何想法如何添加点击检查?
答
OnClientClick
只适用于asp服务器按钮控件(System.Web.UI.WebControls
),但是您使用的是html按钮控件,因此需要单独放置您的javascript代码,这意味着将您的脚本标记放在GridView
控件之外。试试下面的代码:
<asp:TemplateField >
<ItemTemplate>
<input type="button" id="Button98"
Text="pavadinimas" value="delete"
onclick="ConfirmOnDelete('<%#Eval("data")%>');"
/>
</ItemTemplate>
</asp:TemplateField>
<script type="text/javascript" language="javascript">
function ConfirmOnDelete(para)
{
if (confirm("Are you sure?")==true)
location.href='SMSReport.aspx?data=' + para + '&db=1';
else
return false;
}
</script>
答
上周我有相同的问题,
你的asp.net按钮应该有一个的OnClientClick =“DoValidation();单击事件分配是和thenin你的js文件你应该有
asp.button
<asp:Button ID="btnSave" CssClass="btn btn-primary" OnClientClick="DoValidation()" runat="server" Text="Search" Height="36px" />
的JavaScript
function DoValidation(parameter) {
//your validation code here
if (valid == true) {
__doPostBack('btnSave', parameter);
}
}
+0
但OP没有asp按钮,只有简单的html输入按钮 –
答
<form id="form1" runat="server">
<input type="button" id="btn_11" runat="server" onclick="ConfirmOnDelete(); location.href = 'http://www.google.com'" />
<script type="text/javascript" language="javascript">
function ConfirmOnDelete() {
if (confirm("Are you sure?") == true)
return true;
else
return false;
}
</script>
</form>
您的输入不是服务器端控件,所以没有onclientclick和onclick,只有onclick发生在客户端。你想验证,然后执行location.href代码吗?如果是这样,将它们合并成一个函数 – Andrei
@Andrei你能更具体地说明如何做到这一点吗?或者,也许你可以给一些代码示例? – Macb3th
Shaminder在下面提供了一个很好的答案,他对脚本标签的描述不够清楚。我在那里添加了一条评论,这应该可以解决您的问题 – Andrei