我有一個div風格默認爲「display:none」,直到前一個字段被填寫完畢,並且它包含一個需要選擇的下拉列表。如何在使用jquery.validationEngine.js進行驗證時忽略隱藏的頁面元素?
如果在該div變爲可見之前提交頁面,驗證錯誤將顯示在頁面的左半部分。
這當然不是一個功能問題,但我一直在想,是否有一種方法可以讓驗證引擎忽略隱藏的元素。
到目前爲止,我已經嘗試過在creator's blog上指出的class =「validate [optional:Special]」:「可選:Special:僅當字段非空時驗證*請首先調用可選。它似乎沒有按照建議工作。
<div id="container" style="display: none;">
...
<select id="mapLocation" onchange="moveMapToCenter();" class="validate[optional: Special]" />
...
</div>
我使用jquery.validate還試圖「忽略」:
$(document).ready(function() {
$("#aspnetForm").validationEngine({
ignore: ":hidden"
success: false,
failure: function() {}
})
});
這可能是我的一個簡單的疏忽,我們拭目以待!謝謝。
你怎麼「隱藏」你的元素? – lucifurious 2010-11-19 02:36:43
從http://stackoverflow.com/questions/2623514/jquery-validate-ignore-elements-with-style:「元素可以被認爲隱藏的原因有幾個: 它們的顯示值爲無。 它們是表單元素與類型=「隱藏」 它們的寬度和高度顯式設置爲0. 祖先元素被隱藏,因此該元素不會顯示在頁面上 – 2010-11-19 14:07:50
如果您實際上在技術上意味着「如何」我隱藏它們 - 一旦郵政編碼字段被填寫和驗證,我將顯示具有「display:inherit;」的元素 – 2010-11-19 14:10:00