Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите заблокировать DIV по клику (https://javascript.ru/forum/misc/66832-pomogite-zablokirovat-div-po-kliku.html)

Vadya 13.01.2017 09:40

Помогите заблокировать DIV по клику
 
Есть блок DIV, в нем находится форма, котрая обрабатывается через ajax, на время обработки надо заблокировать весь блок

Напрямую делаю так: <div onclick="javascript:return false;"></div>

А по нажатию кнопки submit не получается, уже что только не пробовал:

<div id="divid" onclick="javascript:return false;">
<input onclick="document.getElementById('divid').onclick= '???';">
</div>

:help:

ksa 13.01.2017 09:45

Vadya, ты в состоянии сделать нормальный тестовый пример?

рони 13.01.2017 09:47

Vadya,
а блокировки формы недостаточно?
<form onsubmit="return false">

Vadya 13.01.2017 10:06

Цитата:

Сообщение от ksa
Vadya, ты в состоянии сделать нормальный тестовый пример?

Ну я думал для спецов это элементарно, поэтому максимально упростил, чтобы читалось проще, нагромождать не хотел

Цитата:

Сообщение от рони
а блокировки формы недостаточно?

Там еще ссылка есть, которую надо тоже блокировать, но смысл понял, сейчас попробую

ksa 13.01.2017 10:26

Цитата:

Сообщение от Vadya
Ну я думал для спецов это элементарно, поэтому максимально упростил, чтобы читалось проще, нагромождать не хотел

Т.е. спецы сами тебе должны делать пример, на котором будет показан вариант решения? :D

ksa 13.01.2017 10:28

Цитата:

Сообщение от Vadya
Там еще ссылка есть, которую надо тоже блокировать

Можно вообще закрыть див-контейнер еще одним, абсолютнопозиционированны м дивом, который "перекроет доступ" ко всем детям дива-контейнера...

Vadya 13.01.2017 10:31

рони, не, так не получилось

ksa,
Действительно, там все посложнее, нужен полный пример. Пару недель назад забросил заниматься и из головы многое вылетело


В первом посте перепутал, что для блокировки напрямую работает <div onclick="javascript:return false;"></div>

<div id="divid">

<div id="status">
Здесь будем принимать отчеты о работе ajax приложения и ответ сервера.
</div>

<a target="_blank" href="http://test.com" onclick="window.open(this.href, this.title, 'toolbar=0, status=0, width=548, height=325'); return false;"><span>Ссылка</span></a>

<form action="server.php">
<input type="text" id="area_1" name="area_1" /> <a href="javascript:return false;" onclick="ajax({url:'server.php',statbox:'status',method:'POST',data:{first_area:document.getElementById('area_1').value,},success:function(data){document.getElementById('status').innerHTML=data;}}); document.getElementById('divid').style.opacity='0.3'; document.getElementById('divid').onclick='???'; return false;"><span>Отправить</span></a>
</form>

</div>


При заполнении поля формы и клике по кнопки див должен блокироваться

Достаточно и ссылки заблокировать, а в input поставлю disabled

ksa 13.01.2017 10:44

Цитата:

Сообщение от Vadya
Действительно, там все посложнее, нужен полный пример

Пока с деланием тестовых примеров у тебя явные проблемы... :D

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#divid {
	position: relative;
}
#curtain {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	opacity: 0.1;
}
#divid > #curtain {
	display: none;
}
#divid.off > #curtain {
	display: block;
}
</style>
<script type='text/javascript'>
function off(){
	document.getElementById('divid').className='off'; 
	return false;
};
</script>
</head>
<body>
<div id="divid">
	<div id="status">
		Здесь будем принимать отчеты о работе ajax приложения и ответ сервера.
	</div>
	<a target="_blank" href="http://test.com" onclick="alert('Test')">
		<span>Ссылка</span>
	</a>
	<form>
		<input type="text" id="area_1" name="area_1" /> 
		<a href="#" onclick="return off();">
			<span>Отправить</span>
		</a>
	</form>
	<div id='curtain'></div>
</div>
</body>
</html>

Vadya 13.01.2017 11:41

ksa,
Спасибо за помощь и потраченное время, буду интегрировать себе этот подход.
А с деланьем примеров да, у меня проблемы, у меня вообще ко всему компьютерному не профессиональный подход, я самоучка. А если говорить про хтмл и жс, то у меня паника начинается, когда намечается что-то сложное :)


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