У меня есть два текстовых поля: один для запланированной даты, а другой для запланированного времени. Я хочу пройти проверку, если оба текстовых поля пусты или оба имеют контент. Я хочу пропустить проверку, если только один имеет контент. Все работает на стороне сервера, и следующий код на стороне клиента работает корректно в Chrome.ASP.NET 2.0 Пользовательская проверка на стороне клиента не работает в Internet Explorer
function CheckScheduledDateTime(sender, args) {
if (ctl00_MainContent_txtScheduledTime.value!="" || ctl00_MainContent_txtScheduledDate.value!="")
{
if (ctl00_MainContent_txtScheduledTime.value!="" && ctl00_MainContent_txtScheduledDate.value=="")
{
args.IsValid=false;
alert("Scheduled date is required");
}
else if (ctl00_MainContent_txtScheduledTime.value=="" && ctl00_MainContent_txtScheduledDate.value1!="")
{
args.IsValid=false;
alert("Scheduled time is required");
}
else
{
args.IsValid=true;
}
}
else
{
args.IsValid = true;
}
}
В Internet Explorer, он не работает, и я получаю следующее сообщение об ошибке:
"ошибка выполнения Microsoft JScript: 'ctl00_MainContent_txtScheduledTime' не определена"
странное дело, с он сломался в Visual Studio, если я затем попытаюсь снова войти в него, он снова сломается, но затем, если я попытаюсь войти в него в третий раз, он будет работать, и проверка корректно работает.
Может ли кто-нибудь пролить свет на это?
Вы используете document.getElementById ('ctl00_MainContent_txtScheduledTime')? –
Этот код был фактически взят из обработанного браузером кода, я использую '<% = txtScheduledTime.ClientID%>. Value' во всех местах, где вы видите' ctl00_MainContent_txtScheduledTime.value', аналогично для поля даты. Я не использую document.getElementById. – fourdam
Изменение на 'if (document.getElementById ('<% = txtScheduledTime.ClientID%>'). Value! =" "|| document.getElementById ('<% = txtScheduledDate.ClientID%>'). Value! =" ") 'работал с удовольствием, спасибо! – fourdam