2011-07-20 32 views
1

我有一个aspx页面,我在其他.js文件中使用了jquery验证器。我对这个文件的代码是由于客户端验证,ASP.net中的页面重新加载问题

function checkRequiredInputs(){ 

$("#frmSaleSubmissionInfo").validate({ 
    rules:{ 
     txtFName:{required: true}, 
     txtLName:{required: true}, 
     txtAddress:{required: true}, 
     txtPhone:{required: true} 
    }, 
    messages:{ 
     txtFName:"Enter Name", 
     txtLName:"Enter Name", 
     txtAddress:"Enter Address", 
     txtPhone:"Enter Phone Number" 
    } 
}); 

$("#txtPhone").keydown(function(event) { 
    // Allow only backspace,delete,comma(,),left arrow,right arraow and Tab 
    if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 188 
     || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9){ 
     // let it happen, don't do anything 
    } 
    else { 
     // Ensure that it is a number and stop the keypress 
     if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode <96 ||event.keyCode > 105)) { 
      event.preventDefault(); 
     } 
    } 
}); 

} 

和验证码在ASPX实现

<script type="text/javascript"> 
    $(document).ready(function(){ 
     checkRequiredInputs(); 
}); 

</script> 

我有一个关闭按钮,它就像

<asp:ImageButton ID="btnClose" runat="server" ImageUrl="~/ButtonImages/Button_Close_Normal.png" 
        Height="16px" onclick="btnClose_Click" /> 

其click事件是 protected void btnClose_Click(object sender,ImageClickEventArgs e) { Response.Redirect(“anotherPage.aspx”,false); }

现在我的问题是,只要我点击关闭按钮,如果验证失败,即如果任何必填字段保持空白,它不会放弃去另一个页面。但是如果验证没有发生,那么关闭按钮会将我带到另一个页面。我的目标是让这个关闭按钮工作,而不管任何客户端验证?我该怎么办?请帮助我,提前谢谢

回答

0

如果你所做的当你点击btnClose是:Response.Redirect("anotherPage.aspx", false);那么为什么还要打扰服务器端控制?我会代替btnClose:

<a href="/anotherPage.aspx"><img src="~/ButtonImages/Button_Close_Normal.png" /></a> 

这将工作无论

+0

谢谢您suggesion,但我不能在这里使用一个链接,我要使用的按钮。因为我现在工作的页面是一个子页面,另一个页面是父页面,所以通过关闭子页面我必须返回到父页面。所以我需要使该服务器按钮可以工作。 – Pankouri

+0

不太确定我遵循你的意思。是否有更多的服务器端的东西发生在按钮后面,而不仅仅是'Response.Redirect(“anotherPage.aspx”,false);'? –

+0

不,除了我在这里写的东西外没有一条线。 – Pankouri