Сбросить контроль валидации asp.net через JavaScript?

Локальные переменные и примитивы должны быть инициализированы перед использованием, потому что вы знаете, чего ожидать от значений. Исторически, когда была создана новая переменная, она содержала бы случайные значения из памяти [и невозможно предсказать значение]. Java также требует этого, потому что он предотвращает наличие потерянных переменных.

21
задан Michael Kniskern 26 May 2010 в 19:58
поделиться

2 ответа

Вот код для сброса всех валидаторов

function CleanForm() {
    document.forms[0].reset(); 

    for (i = 0; i < Page_Validators.length; i++) {
        Page_Validators[i].style.visibility = 'hidden';
    }

    return false;
}

или одного:

document.getElementById("<%= MyValidationContorl.ClientID %>").style.visibility
 = 'hidden';
-1
ответ дан 29 November 2019 в 20:03
поделиться

Проверка страницы запускается каждый раз, когда вы публикуете сообщение, проблема заключается в том, что вы очищаете содержимое валидатора cv.innerHTML = ''; , таким образом ваше сообщение валидатора теряется навсегда и вы подумаете, что проверка снова не срабатывает.

и для ответа @Glennular код не обрабатывает свойство валидатора Display , если для него установлено значение Dynamic , валидатор будет переключаться с помощью validator.style.display , но если для него установлено значение None или Inline , то вместо него будет использоваться свойство validator.style.visibility .

Вместо этого лучше использовать asp.net ValidatorUpdateDisplay ,

<script type="text/javascript">
    function Page_ClientValidateReset() {
        if (typeof (Page_Validators) != "undefined") {
            for (var i = 0; i < Page_Validators.length; i++) {
                var validator = Page_Validators[i]; 
                validator.isvalid = true;
                ValidatorUpdateDisplay(validator);
            }
        }
    }
</script>

Обновление : сбросить сводки проверки

<script type="text/javascript">
function Page_ValidationSummariesReset(){
    if (typeof(Page_ValidationSummaries) == "undefined")
            return;
    for (var i = 0; i < Page_ValidationSummaries.length; i++)
            Page_ValidationSummaries[i].style.display = "none";

}
</script>
39
ответ дан 29 November 2019 в 20:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: