Получение "?" в URL-адресе после нажатия кнопки отправки. PreventDefault присутствует в jQuery. Поверьте, внедрение htmlJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Получение "?" в URL-адресе после нажатия кнопки отправки. PreventDefault присутствует в jQuery. Поверьте, внедрение html

Сообщение Anonymous »


Я учусь, и мне в качестве задания поручено создавать различные веб-формы. Я создал простую форму, которая после нажатия кнопки «Отправить» должна фиксировать введенную информацию и записывать ее в консоль. В качестве простого теста, чтобы убедиться, что мое событие jQuery работает, я должен увидеть «привет» в консоли, когда нажимаю «Отправить». Я использую PreventDefault как есть, и это все еще происходит. У меня сложилось впечатление, что предотвращение по умолчанию должно остановить эту перезагрузку. Кроме того, после нажатия кнопки «Отправить» я замечаю знак «?» вставлен в мой URL. Например, если я нахожусь по адресу «www.webpage.com/#create», то после нажатия кнопки «Отправить» я вижу «www.webpage.com/?#create» со знаком вопроса непосредственно перед «#create». Судя по тому, что я прочитал, похоже, что мой браузер "теряется" при перезагрузке после нажатия кнопки "Отправить".

HTML — index.html Формы [*] html — введен в #app div с помощью jQuery Создать форму jQuery — app.js // импорт ChangeRoute из model.js импортировать {changeRoute} из "../model/model.js"; // функция initListener функция initListener(){ // прослушивает изменения хеша для изменения содержимого $(window).on("hashchange",changeRoute); ИзменитьМаршрут(); // слушаем нажатие кнопки отправки $("#create-submit").click(function (e) { е.preventDefault(); console.log("привет"); }); } // вызов функций $(документ).ready(функция(){ инициализатор(); }); jQuery — модель.js // экспорт функции для внедрения html функция экспорта ChangeRoute(){ // объявляем переменные пусть hashTag = window.location.hash; let pageID = hashTag.replace("#", ""); // меняем содержимое если(pageID != ""){ $.get(`pages/${pageID}/${pageID}.html`, function(data){ $("#app").html(данные); }); }еще{ $.get(`pages/home/home.html`, функция(данные){ $("#app").html(данные); }); } } Я перемещаюсь, внедряя html в свой индекс с помощью jQuery, описанного выше, и я считаю, что это проблема. Прослушиватель нажатия кнопки «Отправить» находится в моем коде app.js выше. Одно очень важное замечание: я не могу отклоняться от метода/функции, использованного выше.

$("#create-submit").click(function (e) { e.preventDefault(); console.log("hi"); });

Это должно присутствовать в соответствии с инструкциями по заданию. Я задал этот вопрос другим участникам класса, но пока не получил ответов.

Я считаю, что сузил проблему до «навигации» посредством внедрения html, что мне тоже нужно сохранить. По сути, я скопировал/вставил весь свой код в новый проект и жестко запрограммировал введенный раздел в свой index.html, затем удалил свой model.js и импорт из своего app.js. В этот момент я мог нажать кнопку «Отправить», и в консоли отобразилось «привет», как и ожидалось.

На мой взгляд новичка это выглядит так, будто страница перезагружается при нажатии кнопки «Отправить», и в этот момент появляется знак «?» вставляется в URL-адрес, потому что браузер по сути не понимает, куда ему следует идти.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»