Использование $ (this) .val () возвращает ошибку Invalid Postback - PullRequest
0 голосов
/ 05 мая 2020

У меня есть веб-форма ASP. NET C#, которая использует jquery для проверки пользовательского ввода до того, как этот ввод будет обработан сервером. Когда я говорю «проверить», я имею в виду, что проверяю, ввел ли мой пользователь данные в определенные обязательные поля, прежде чем что-то еще произойдет. Эта проверка связана с событием OnClientClick элемента управления «кнопка» ASP. NET. Если клиентский сценарий обнаруживает отсутствующие данные, он возвращает false. В противном случае срабатывает событие OnClick кнопки.

<asp:Button ID="submitBtn" 
   OnClientClick="if (!addBtnClick(event)) { return false; }" 
   UseSubmitBehavior="false"                  
   runat="server" Text="Submit" OnClick="submitBtn_Click" />

Проверяемые входные данные состоят из текстовых полей и раскрывающихся списков, оба из которых закодированы на странице как серверные элементы управления и отмечены как требуемые значением класса . Я проверяю значение этих входов по одному, используя функцию "each", и получаю значение проверяемого входа с помощью "$ (this) .val ()".

$(cls).each(function () {
   var val = $(this).val();
   // do other stuff
});

Моя проблема заключается в том, что это каким-то образом вызывает ошибку «Недопустимый аргумент обратной передачи или обратного вызова», и я знаю, что виновником является «$ (this) .val ()», потому что если я закомментирую только это, передав какое-то общее значение c в моя переменная, например, мое приложение работает нормально.

Я пытался зарегистрировать свой jquery код с помощью RegisterClientScript, но это ничего не меняет. Кто-нибудь видел это раньше?

EDIT: «$ (this) .val ()» продолжает выдавать эту ошибку, даже если серверная сторона не задействована. Я использую этот код для сброса моей формы, очищая все поля ввода. После публикации этого сообщения мне пришло в голову, что к некоторым из моих текстовых полей прикреплены прослушиватели событий, так что, может быть, здесь возникает ошибка?

Оказывается, нет. Даже если мои слушатели событий закомментированы, я все равно получаю ошибку на стороне клиента. Я могу использовать «$ ('input'). Val ('')» без проблем, но это очищает все поля ввода, и мне нужно иметь возможность игнорировать некоторые из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...