Валидация клиентской стороны ASP.Net
2781 просмотра
5 ответа
12013 Репутация автора
У меня есть пользовательская функция проверки подлинности в JavaScript в пользовательском элементе управления на веб-сайте .Net 2.0, который проверяет, не уплачена ли уплаченная плата, кроме суммы комиссии.
Я поместил код проверки в ascx
файл, и я также попытался использовать, Page.ClientScript.RegisterClientScriptBlock()
и в обоих случаях срабатывает проверка, но не может найти функцию JavaScript.
Вывод в консоли ошибок Firefox "feeAmountCheck is not defined"
. Вот функция (это было взято непосредственно из firefox-> view source)
<script type="text/javascript">
function feeAmountCheck(source, arguments)
{
var amountDue = document.getElementById('ctl00_footerContentHolder_Fees1_FeeDue');
var amountPaid = document.getElementById('ctl00_footerContentHolder_Fees1_FeePaid');
if (amountDue.value > 0 && amountDue >= amountPaid)
{
arguments.IsValid = true;
}
else
{
arguments.IsValid = false;
}
return arguments;
}
</script>
Любые идеи относительно того, почему функция не найдена? Как я могу исправить это, не добавляя функцию на мою главную страницу или страницу потребления?
Автор: Rob Allen Источник Размещён: 04.08.2008 04:44Ответы (5)
7 плюса
21826 Репутация автора
Когда вы используете .Net 2.0 и Ajax - вы должны использовать:
ScriptManager.RegisterClientScriptBlock
Он будет работать лучше в средах Ajax, чем в старой версии page.ClientScript
Автор: brendan Размещён: 04.08.2008 04:5113 плюса
15358 Репутация автора
Попробуйте изменить имена аргументов в sender
и args
. И после того, как вы его заработаете, переключите вызов ScriptManager.RegisterClientScriptBlock
, независимо от использования AJAX.
0 плюса
12013 Репутация автора
Хотя мне все же хотелось бы ответить на вопрос, почему мой javascript не был распознан, решение, которое я нашел в это время (и должно было сделать в первую очередь), - это использовать Asp:CompareValidator
вместо него Asp:CustomValidator
.
0 плюса
149 Репутация автора
Также вы можете использовать:
var amountDue = document.getElementById('<%=YourControlName.ClientID%>');
Это автоматически разрешит идентификатор клиента для элемента без необходимости выяснять, что он вызван 'ctl00_footerContentHolder_Fees1_FeeDue'
.
1 плюс
11 Репутация автора
Попробуйте изменить имена аргументов в sender
и args
. И после того, как вы его заработаете, переключите вызов ScriptManager.RegisterClientScriptBlock
, независимо от использования AJAX.
Автор: hardik virani Размещён: 17.11.2018 04:26полезно для вас! :)
Вопросы из категории :
- asp.net Контрольный список для проверки подлинности Windows IIS 6 / ASP.NET?
- asp.net Валидация клиентской стороны ASP.Net
- asp.net .NET - получить протокол, хост и порт
- asp.net Как получить полный URL страницы, на которой я нахожусь в C #
- asp.net Как заставить Visual Studio заново создать файлы .designer для файлов aspx / ascx?
- asp.net Response.Redirect с POST вместо Get?
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- validation Проверить перечисление значений
- validation Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- validation Каков наилучший способ проверки полей с использованием ASP.NET MVC?
- validation Проверка десятичных чисел в JavaScript - IsNumeric ()
- validation Как проверить адрес электронной почты в JavaScript