如何防止页面使用javascript发回
我已经检查了其他代码,看起来我只需要添加return false就可以了。但是,它不起作用,因为它仍然回发页面如何防止页面使用javascript发回,javascript,asp.net,Javascript,Asp.net,我已经检查了其他代码,看起来我只需要添加return false就可以了。但是,它不起作用,因为它仍然回发页面 <asp:Button ID="_btnSearch" Text="Search" onclientclick="CheckForEmptySearchBox()" /> <script type = "text/javascript"> function CheckForEmptySearchBox() {
<asp:Button ID="_btnSearch" Text="Search"
onclientclick="CheckForEmptySearchBox()" />
<script type = "text/javascript">
function CheckForEmptySearchBox()
{
var boxContent = document.getElementById
("_ctl0_contentMain__lvTSEntry_ctrl0__txtClientName").value;
if (boxContent == null || boxContent == "") {
alert("Please enter search criteria");
return false;
}
}
</script>
函数CheckForEmptySearchBox()
{
var-boxContent=document.getElementById
(“_ctl0_contentMain_ulvtsentry_ctl0_utxtclientname”)。值;
if(boxContent==null | | boxContent==“”){
警报(“请输入搜索条件”);
返回false;
}
}
onclientclick的源正在接收null
而不是false
,因为您没有返回函数调用的结果
onclientclick="return CheckForEmptySearchBox()"
您可以在
表单
上添加全局检查,这可以在代码隐藏上完成,如下所示:
if (Page.EnableEventValidation)
{
if (string.IsNullOrEmpty(Page.Form.Attributes["onsubmit"]))
{
Page.Form.Attributes["onsubmit"] = "return CheckForEmptySearchBox();";
}
}
您是否考虑过使用任何ASP.NET验证控件?如果您不想在服务器上单击它,为什么要使用它?使用html按钮@jrummell,我尝试过,但遇到了很多麻烦,因为要验证的控件位于ListView控件内。因此,RequiredFieldValue正在验证每个ListViewItem中的文本框。如果你知道一种更好的方法来隔离验证的效果,那就更好了。你的解决方案非常有效。现在我正在等待@jrummell告诉我是否有一种方法可以在ListView中使用验证控件,而不必在每一行进行验证。@Richard77。我的答案回答了你的问题,但更适合放置此代码的位置是
。