ошибка JavaScript “объект, ожидаемый” при создании пользовательского элемента управления видимым

У меня есть один пользовательский элемент управления для выбора даты, которая использует ajax календарный расширитель. Также это имеет проверку JavaScript для проверки формата даты. Управление хорошо работает, когда его видимость верна во время загрузки. Но давая ошибку JavaScript, если я делаю это видимым с кнопкой (управление сервером) щелчок.

Ниже функция JavaScript к проверке даты

txtDate.Attributes.Add("onblur", "javascript:ValidateDate('" & txtDate.ClientID & "');")
objStringBuilder.AppendLine("function ValidateDate(d) ")
objStringBuilder.AppendLine("   {          ")
objStringBuilder.AppendLine("    var t = document.getElementById(d);")
objStringBuilder.AppendLine("    if (t.value.toString() != "")")
objStringBuilder.AppendLine("     {")
objStringBuilder.AppendLine("       if ( isDate(t.value.toString()) == true )")
objStringBuilder.AppendLine("       {")
objStringBuilder.AppendLine("          return true;")
objStringBuilder.AppendLine("       }")
objStringBuilder.AppendLine("       else")
objStringBuilder.AppendLine("       { ")
objStringBuilder.AppendLine("        alert("Please enter valid date in dd/mm/yyyy format");")
objStringBuilder.AppendLine("        t.value = "";")
objStringBuilder.AppendLine("        t.focus();")
objStringBuilder.AppendLine("        return false;")
objStringBuilder.AppendLine("       }")
objStringBuilder.AppendLine("      } ")
objStringBuilder.AppendLine("   } ")

при создании видимым и onblur это дает ошибку в txtDate.Attributes.Add("onblur", "javascript:ValidateDate('" & txtDate.ClientID & "');")"

строка. Причина я думаю идентификатор управления, не становится переданной в то время как он делающий видимое время выполнения. Но хорошо работая, если видимость верна во время загрузки.

помогите

спасибо Anto

1
задан rick schott 12 July 2010 в 15:33
поделиться

1 ответ

Невозможно использовать свойство ASP.NET Visible , если вы ссылаетесь на них в JavaScript. Visible = false означает, что элемент управления не отображается на странице, поэтому его нет в DOM для справки.

Используйте CSS:
disply: none или visiblity: hidden, чтобы показать / скрыть, и ваш JavaScript будет работать нормально.

СОВЕТ ПО ОТЛАДКЕ : Удалите UpdatePanel, когда что-то становится непросто, чтобы увидеть, что происходит, затем вставьте его обратно.

2
ответ дан 2 September 2019 в 23:07
поделиться
Другие вопросы по тегам:

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