Трудность отправки значений в поля ввода (звучит смешно)
РЕДАКТИРОВАНИЕ: Новая информация: Когда я проверяю поле и код выделяется (в инспекторе), тогда все операторы работают так, как должны, но когда поле больше не подсвечивается, операторы, кажется, не работают. Надеюсь, это поможет диагностировать проблему.
У меня есть форма wufoo (размещенная форма, которую вы можете встроить, отправить на специальный адрес электронной почты при отправке и т. Д.). В этой форме у меня есть поле, которое я пытаюсь заполнить определенным фрагментом данных после нажатия кнопки. Я считаю, что у меня есть правильный код, чтобы это произошло, и он должен работать:
$('#my-button').click(function() {
$('#Field3').val("something");
});
Я пробовал много разных способов:
$('input[id="Field3"]').val("something");
$('input[name="Field3"]').val("something");
и несколько достижений, которые я действительно не думал, будет работать..
$('#Field3').append("something");
$('#Field3').text("something");
Здесь есть несколько вещей, которые меня смущают, и я опубликую скриншоты ниже, показывающие, что я имею в виду. Я могу ввести все эти команды в консоли после загрузки страницы, и с полем ничего не произойдет (с идентификатором Field3)... большую часть времени. Но несколько раз я перезагружал страницу, снова пробовал несколько утверждений, да, те же, и тогда это работало бы. Не знаю, почему или как, но это что-то непостоянное. Очевидно, что это, вероятно, не тот случай, но я довольно озадачен тем, почему это происходит;
Ниже приведены три экрана моей консоли. В течение первых двух это поле заполнялось, наконец, после 10 или более попыток в консоли, а затем продолжало работать, используя команды, которые раньше не работали. Последний экран - попытка, которая не сработала вообще:
[![Eventually Works After Last Command][1]][1]
[![Eventually Works After Last Command][2]][2]
[![Did Not Work][3]][3]
[1]: https://stackru.com/images/825c289b5633876168970fc1823c33ce4d0aff5c.jpg
[2]: https://stackru.com/images/6c7609bdffb69ee9c0d8a8d3f535ed849b0be34c.jpg
[3]: https://stackru.com/images/8b2facaf210bd6c8a668fd04fe59a5c801e24b1e.jpg
(Извиняюсь за то, как мне пришлось публиковать эти изображения, я продолжаю получать ошибки форматирования, которые не позволят мне продолжать сохранять сообщение, пока я не cmd+k их)
Сначала я пытаюсь все в консоли, но я не могу найти здесь никаких шаблонов. Любые идеи или предложения будут с благодарностью, и спасибо за ваше время.
4 ответа
На данный момент я почти уверен, что проблема связана с переключением кода формы или добавлением определенных классов при определенных условиях, поэтому я загружал код из своей учетной записи Wufoo, а не встраивал его. Тогда я только добавил код для представления (не CSS или JS), и теперь он работает.
Мои оригинальные высказывания (не повторяющие) все отлично работают сейчас, когда я их пробую. Спасибо за время всем.
Я знаю, что вы решили свою проблему, но решил, что я буду вмешиваться, если у вас или других возникнет эта проблема снова в будущем. Похоже, ваша проблема связана с порядком исполнения. Сценарии встраивания Wufoo являются асинхронными, поэтому весьма вероятно, что рассматриваемые поля ввода еще не существовали на вашей странице во время оценки обработчика щелчков jQuery. Изменение исходного кода на метод "on" jQuery вместо "click", вероятно, решило бы вашу проблему, так как "on" предоставляет делегированный прослушиватель событий. В любом случае, рад, что вы все разобрались!
Я предполагаю, что в консоли не загружен jQuery.
Я обычно пишу:
document.getElementById('Field3').value = "something";
Обновил свой Jsfiddle. Единственное, что я изменяю, я добавил ссылку на Jquery. Может быть, это проблема.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>