javascript确认asp.net按钮从不提交?
我有一个普通的asp:按钮。我在.NET3.5工作。我尝试过向带有OnClientClick属性的按钮添加一个js confirm,并在后面添加代码,结果是一样的。无论用户在确认弹出窗口中单击什么,表单都不会提交 btndeletected.Attributes.Add(“onclick”,“return confirm”(“您确定要删除吗?”);”)javascript确认asp.net按钮从不提交?,javascript,asp.net,form-submit,Javascript,Asp.net,Form Submit,我有一个普通的asp:按钮。我在.NET3.5工作。我尝试过向带有OnClientClick属性的按钮添加一个js confirm,并在后面添加代码,结果是一样的。无论用户在确认弹出窗口中单击什么,表单都不会提交 btndeletected.Attributes.Add(“onclick”,“return confirm”(“您确定要删除吗?”);”) 确认对话框出现,如果我选择“确定”,它仍然不会提交。。有什么想法吗?谢谢。如果验证通过,是否必须返回TRUE?也就是说,如果confirm()返
确认对话框出现,如果我选择“确定”,它仍然不会提交。。有什么想法吗?谢谢。如果验证通过,是否必须返回TRUE?也就是说,如果confirm()返回false,我认为表单不会提交。您的代码表面上看起来不错。您是否有任何可能阻止其提交的验证程序?尝试添加
btndeletected.CausesValidation=false
以防止删除按钮调用任何客户端验证程序。请尝试调用函数;)
我的意思是:
BtnDeleteSelected.Attributes.Add("onclick", "CheckConfirm();");
<script language="javascript">
function CheckConfirm()
{
if ( confirm('Are you sure you want to delete?') )
__doPostBack('BtnDeleteSelected','');
else
return false;
return true;
}
</script>
btndeletected.Attributes.Add(“onclick”、“CheckConfirm();”);
函数CheckConfirm()
{
if(确认('您确定要删除吗?'))
__doPostBack('BtnDeleteSelected','';
其他的
返回false;
返回true;
}
希望这能有所帮助,那是因为你不应该在所有情况下都返回。如果查看页面的源代码并查找按钮标记,则可能会看到以下内容
onclick="return confirm('Ok?'); __doPostback();"
在某些情况下,_doPostback调用由ASP.NET框架自动插入。由于无论确认的结果如何,您都会立即返回,因此回发不会触发。最终的解决方案是不设置onclick属性,而是使用。但是,如果有迫切的理由通过onclick在服务器端控制此操作,您可以使用一个简单的if
语句,并且只在按下“Cancel”时返回
我也有这个问题。我在datagrid的创建的代码中添加了客户端javascript,如下所示:
myTableCell = e.Item.Cells(iDeleteColumnNumber) 'Delete Button Column
myDeleteButton = myTableCell.Controls(1)
If myDeleteButton.UniqueID = "lbtnDelete" Then
myDeleteButton.Attributes.Add("onclick", "if(!confirm('OK to Delete?'))return false;")
End If
<asp:LinkButton id="lbtnDelete" runat="server" CssClass="link-text" Text="<img border=0 src=../images/icons/icon-delete.gif alt=Delete>"
CommandName="Delete" CausesValidation="false" OnClientClick="if(!confirm('OK to Delete?'))return false;"></asp:LinkButton>
因为某种原因,这不起作用。然后,我将JavaScript移动到设计视图中的
,如下所示:
myTableCell = e.Item.Cells(iDeleteColumnNumber) 'Delete Button Column
myDeleteButton = myTableCell.Controls(1)
If myDeleteButton.UniqueID = "lbtnDelete" Then
myDeleteButton.Attributes.Add("onclick", "if(!confirm('OK to Delete?'))return false;")
End If
<asp:LinkButton id="lbtnDelete" runat="server" CssClass="link-text" Text="<img border=0 src=../images/icons/icon-delete.gif alt=Delete>"
CommandName="Delete" CausesValidation="false" OnClientClick="if(!confirm('OK to Delete?'))return false;"></asp:LinkButton>
这对我很有用。据我所知,以上就是所需的一切。。单击“确定”返回True我已添加BtnDeleteSelected.CausesValidation=false思考相同的事情。。没有骰子。。页面上没有其他验证。虽然我正在使用radgrid,其中包含确认。。可能是这个问题。。但是没有js错误。非常感谢!这很有道理。唯一迫切的需要可能是混合着懒惰的坏习惯。。我知道我应该克服的事情!再次感谢。