Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Можно ли решить задачу без библиотек (jquery и пр.)? (https://javascript.ru/forum/events/84260-mozhno-li-reshit-zadachu-bez-bibliotek-jquery-i-pr.html)

Chile 22.07.2022 18:09

Можно ли решить задачу без библиотек (jquery и пр.)?
 
Здравствуйте, товарищи!

Скажите пожалуйста, можно ли решить подобную задачу без библиотек, на чистом js? Это отправка формы без перезагрузки и вывод сообщения в всплывающем окне.

Если это возможно, то как? :)

$(document).ready(function() {
	$('form').submit(function(event) {
		var json;
		event.preventDefault();
		$.ajax({
			type: $(this).attr('method'),
			url: $(this).attr('action'),
			data: new FormData(this),
			contentType: false,
			cache: false,
			processData: false,
			success: function(result) {
				json = jQuery.parseJSON(result);
				if (json.url) {
					window.location.href = '/' + json.url;
				} else {
					alert(json.status + ' - ' + json.message);
				}
			},
		});
	});
});

ksa 22.07.2022 19:18

Chile, все "библиотеки" написаны на "чистом JS"... ;)

Chile 22.07.2022 19:22

Цитата:

Сообщение от ksa (Сообщение 546787)
Chile, все "библиотеки" написаны на "чистом JS"... ;)

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

ksa 22.07.2022 19:45

Chile, у тебя уже приведен пример отправки без перезагрузки...
Осталось узнать что ты понимаешь под выводом сообщения во всплывающем окне.

ksa 22.07.2022 19:46

Цитата:

Сообщение от Chile
alert(json.status + ' - ' + json.message)

Это вот модальное окно... Чем не устраивает?

Chile 22.07.2022 19:49

Цитата:

Сообщение от ksa (Сообщение 546790)
Это вот модальное окно... Чем не устраивает?

А оно не работает без вот этого:

<script src="http://…jquery.js"></script>

:)

ksa 22.07.2022 20:01

Окно работает и без этого...
alert('Опа!')


А отправку данных можно сделать нативным fetch()...
https://learn.javascript.ru/fetch

Chile 22.07.2022 20:06

Цитата:

Сообщение от ksa (Сообщение 546792)
Окно работает и без этого...
alert('Опа!')


А отправку данных можно сделать нативным fetch()...
https://learn.javascript.ru/fetch

Это очень хорошо, но я очень плохо понимаю джаваскрипт, только пэхапэ б/м сносно… :(

ksa 22.07.2022 20:11

Цитата:

Сообщение от Chile
я очень плохо понимаю джаваскрипт

Вот еще статья на тему отправки форм...
https://www.mousedc.ru/learning/593-...ript-formdata/

Т.ч. придется таки понимать начать. Как иначе?

Chile 22.07.2022 20:28

Цитата:

Сообщение от ksa (Сообщение 546794)
Вот еще статья на тему отправки форм...
https://www.mousedc.ru/learning/593-...ript-formdata/

Т.ч. придется таки понимать начать. Как иначе?

Маловероятно, что у меня что-то выйдет, но всё равно большое спасибо за участие и материалы :)


Часовой пояс GMT +3, время: 13:38.