2010-05-11 34 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