JQuery val () в форме ASP не распознается при «Отправить» - PullRequest
0 голосов
/ 07 декабря 2018

Я действительно нуждаюсь в некоторой помощи ASP и AJAX, которой я не очень хорошо знаком, и, к сожалению, CMS, с которой я работаю, написана на ASP, поэтому мои руки связаны.

Проблема: у меня есть кнопка, которая запускает функцию JQuery, чтобы изменить значение поля ввода в форме asp.Когда я нажимаю кнопку, значение поля изменяется и отображается в текстовом поле.Но когда я прихожу, чтобы отправить форму, значение не распознается, то есть очищает значение.Если я вручную обновлю поле ввода тем же значением, которое будет вводить кнопка, это значение распознается при отправке формы.Так что это работает, но это руководство, которое я стараюсь избегать.Все значение поля также распознается и отправляется, если я должен был нажать кнопку, а затем перейти в поле ввода и добавить пробел после текущего значения.

Что я пробовал: я использовалJQuery для запуска событий для изменения, фокусировки, нажатия клавиш, нажатия клавиш, нажатия клавиш, размытия и т. Д. - но не было радости в решении проблемы.Я также пытался смоделировать ручной процесс набора текста с помощью плагина Daniel Wachsstock «Sendkeys», http://bililite.com/blog/2008/08/20/the-fnsendkeys-plugin/, также без разрешения.

Мой вопрос: - Существуют ли общие события или триггеры, которые происходят в ASP илиAJAX, что я, вероятно, буду упускать из виду?- Кто-нибудь может указать мне правильное направление, чтобы найти ответ?- Есть ли какое-то скрытое поле, которое обновляется по мере того, как я печатаю, но не так, как я использую $ ('# inputid'). Val ('newvalue');

Дополнительно: чтобы добавить к разочарованию этой головоломки,Я не могу поделиться своим кодом за пределами компании, в которой я работаю.Я знаю, это делает вопрос неопределенным, и это похоже на попытку пробить в темноте.Вот почему я только опубликовал вопрос сейчас, когда все мои другие пути исправления ошибок были исчерпаны.

Спасибо за любые предложения, которые вы можете дать.

1 Ответ

0 голосов
/ 07 декабря 2018

Вместо привязки обработчика клика к кнопке лучше захватить событие отправки формы.Это действует только в том случае, если форма использует фактическую кнопку «отправить»:

<button type="submit">submit</button>
<input type="submit" value="submit" />

Вы все еще можете связать тег привязки как событие отправки, но тогда также ясно, если якорь инициирует событие отправки излогика JavaScript.Если нет, что все еще выполнимо, тогда вам вообще не нужна форма.Тег формы с полями формы и наборами полей и т. Д. Предоставляет базовую функцию удобства использования, такую ​​как вкладка полей или нажатие клавиши ввода для отправки.


Поэтому попробуйте изменить функциональность следующим образом:

$('form#your-special-id').on('submit', function(){
    var hiddenField = $(this).find('input[type="hidden"]');

    hiddenField.val('please change');
});

Скорее всего, у вас будет что-то вроде этого:

$('button#your-special-id').click(function(){
    var form = $('form#your-special-id'),
        hiddenField = form.find('input[type="hidden"]');

    hiddenField.val('please change');

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