2010-05-11 37 views
0

我在具有自定义js验证的特定ASPX页面上有表单。在这个表单上也是标题中的导航菜单。如何绕过ASPX提交表单验证页面

导航菜单项以编程方式构建,并由显式提交表单的__doPostBack调用启动。

我遇到的问题是,形式本身具有的代码类似如下

onsubmit='return validateForm()' 

如果表单尚未填写,则不能形式提交。这本身并不是一个问题,除非用户转到表单,但决定离开。

发生这种情况时,validateForm函数失败。

有没有人有解决这个问题的方法?

注:在我的导航链接我已经设置的CausesValidation = “假”

这是标记:

<div id="divNavigate" class="absolute_topleft"> 
    <asp:LinkButton ID="linkGoHome" runat="server" OnClick="linkGoHome_Click" CausesValidation="false" CssClass="xxx">text.</asp:LinkButton> 
</div> 

这是处理程序:

protected void linkGoHome_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("xxxxx"); 
} 

这是验证功能:

function validateTextField(field) { 
    var fieldElement = document.getElementById(field);  
    var validated = false; 

    if (fieldElement.value.length > 0) { 
     validated = true; 
    }    

    return validated; 
} 

这就是它被称为:

<form id="formLogin" runat="server" onsubmit="return validateTextField(field1)"> 

回答

0

是你的导航链接正确的asp.net服务器控件?如果他们设置CausesValidation =“False”应该防止它们导致验证。您可以将代码动态添加到页面中吗?最常见的解释是CausesValidation属性没有被正确设置。

+0

嗨本,我已更新我的问题,以显示使用的代码。 – Grant 2010-05-12 06:44:58