Нужно сделать так, чтобы форум выкидывал предупреждение, что вложение еще не загружено, дабы не было казусов с вложениями. Очень надо
Комментарии: 16

romaamor 28 апр 2020, 00:56 Сообщение

igorbond, случайно не 3.3.0 ? При включении расширения красным матом ругается ?
  • 0

southklad 28 апр 2020, 14:07 Сообщение

ЧТо? Вы вообще читали ?
  • 0
Изображение

CabinetAdmin 29 апр 2020, 22:26 Сообщение

igorbond писал(а): что вложение еще не загружено
Правильно ли я понял - нужно чтобы вложение было обязательным и если оно не загружено выводилось какое то сообщение? Так?

зы. Не понял только на счёт казусов... :scratch:
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

southklad 29 апр 2020, 22:49 Сообщение

Нет, нужно если человек загружает вложение, оно не загрузилось еще, не успело, но он уже отправляет сообщение и вложения теряется. Чтобы было предупреждение Вложение еще не загружено, дождитесь окончание загрузки.
  • 0
Изображение

CabinetAdmin 29 апр 2020, 23:54 Сообщение

А такое бывает? Обычно вложение загружается за пару секунд...

Могу накидать скрипт на пробу:

Код: Выделить всё

<!-- IF S_SHOW_ATTACH_BOX -->
<script>
$('#postform').submit(function(){
	var attacherror = $('input.file-inline-bbcode:not([style="display: inline-block;"])').val();
	if (attacherror)
	{
		alert('{L_ERROR}');
		return false;
	}	
});
</script>
<!-- ENDIF -->
Вместо {L_ERROR} можно добавить свою переменную, либо, если всё равно пока тестить, добавить текст напрямую.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

southklad 30 апр 2020, 00:04 Сообщение

Куда именно вставляется скрипт?
CabinetAdmin писал(а): А такое бывает?
Ага бывает, не у всех интернет хороший, некоторые с телефонов. Так же нельзя сделать чтобы например при нажатии назад, закрыть вкладку, если есть текст или загруженное вложение, система бы спрашивала об уверенности закрытия страницы?
  • 0
Изображение

CabinetAdmin 30 апр 2020, 09:00 Сообщение

Ну это же для теста, значит просто в футер, к остальным скриптам форума.
igorbond писал(а): чтобы например при нажатии назад
Вроде бы это в быстром ответе реализовано было, если я правильно помню. Если нет, то можно попробовать накидать скрипт, надо будет посмотреть.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

romaamor 30 апр 2020, 12:51 Сообщение

igorbond писал(а): ЧТо? Вы вообще читали ?
Игорь. Как вопрос задали, так и ответил.
  • 0

southklad 30 апр 2020, 15:16 Сообщение

CabinetAdmin писал(а): Вроде бы это в быстром ответе реализовано было, если я правильно помню
Да, но только если включена отправка через Аякс
  • 0
Изображение

southklad 02 май 2020, 15:12 Сообщение

Попробовал, если нажать отправить, выскакивает ошибка, но нажать назад и все теряется. Проверил насчет БО, там да это все реализовано и с вложениями и с настройкой нажатия назад, но как это все с БО прикрепить к стандартной отправке?
  • 0
Изображение

CabinetAdmin 05 май 2020, 11:13 Сообщение

Ну так если всё есть в быстром ответе, то зачем изобретать велосипед?
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

southklad 05 май 2020, 19:59 Сообщение

CabinetAdmin писал(а): Ну так если всё есть в быстром ответе, то зачем изобретать велосипед?
Так оно только для быстрого ответа, для стандартного та нет, вот я о чем.
  • 0
Изображение

CabinetAdmin 07 май 2020, 17:21 Сообщение

Ну да, логично:)

Тогда на пробу:

Код: Выделить всё

<!-- IF S_IN_POSTING and S_SHOW_ATTACH_BOX -->
<script>
$('#postform').each(function() {
	var postform = $(this),
		errortext = '{L_ERROR}';

	$(window).on("beforeunload", function() {
		if ($('#message').val() || $('#file-list').children().not('#attach-row-tpl').length) {
			return errortext;
		}
	});
	
	postform.submit(function(){
		if ($('.file-progress:visible').length) {
			alert(errortext);
			return false;
		} else {
			$(window).off("beforeunload");
		}
	});
});
</script>
<!-- ENDIF -->
Опять же переменная {L_ERROR}, меняем на свою.
Плюс что ещё хотел упомянуть по поводу надписи. Вот эта вот надпись будет только если нажать на кнопку "Отправить" во время загрузки файла, если нажать обновить страницу или назад появится стандартное уведомление браузера, в более старых браузерах будет надпись из переменной.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

southklad 07 май 2020, 17:51 Сообщение

Работает, главное что теперь при нажатии назад не будет этого девать делать без уведомления. ПО поводу загрузки, все же можно как то сделать как в БО? Там отложенная отправка, файлы грузятся и потом отправляются, без ошибки?
  • 0
Изображение

Похожие темы