Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   проверка на выполнение load (https://javascript.ru/forum/jquery/51563-proverka-na-vypolnenie-load.html)

face2005 11.11.2014 11:57

проверка на выполнение load
 
стоит задача подгрузить данные из файла по id , который введен в input

<form action="" method="post">
<input name="trecking" id="trecking" type="text" />
<input name="doGo" id="doGo" type="submit" value="Пошук" />
</form>

<?php if (isset ($_REQUEST['doGo'])) {
echo "Номер декларації ".$_REQUEST['trecking'];
?>

<script type="text/javascript">
$(document).ready(function() {
$('#area').load('number.html #<?php echo $_REQUEST['trecking'] ?>');
});
</script>

<div id="area">
</div>

<?php } ?>

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

Safort 11.11.2014 12:42

if (!document.querySelector('#твой_id')) {
  alert('Не найдено');
}

face2005 11.11.2014 12:59

Цитата:

Сообщение от Safort (Сообщение 340402)
if (!document.querySelector('#твой_id')) {
  alert('Не найдено');
}


ставлю в любое место ( и за условием и вне условия) - не работает

Safort 11.11.2014 13:15

Покажи как используешь код?

face2005 11.11.2014 13:22

<form action="" method="post">
<input name="trecking" id="trecking" type="text" />
<input name="doGo" id="doGo" type="submit" value="Пошук" />
</form>

<?php if (isset ($_REQUEST['doGo'])) {
echo "Номер декларації ".$_REQUEST['trecking'];
?>

<script type="text/javascript">
$(document).ready(function() {
$('#area').load('number.html #<?php echo $_REQUEST['trecking'] ?>');
});


</script>

<div id="area">
</div>

<script type="text/javascript">
if (!document.querySelector('#<?php echo $_REQUEST['trecking'] ?>')) {
alert('Не найдено');
}
</script>

<?php } ?>

face2005 11.11.2014 13:23

http://dp-international.pp.ua/status

там есть id 222 и 223

ksa 11.11.2014 13:26

Цитата:

Сообщение от face2005
как вывести сообщение что id , которое нужно не найдено, то есть его нету в документе?

У метода load() есть аргумент
Цитата:

вызов (необязательно)
Функция, которая исполняется всякий раз после завершения запроса AJAX (необязательно удачно).
http://jquery-docs.ru/Ajax/load/
Вот в той функции и проверяй...

ksa 11.11.2014 13:28

Цитата:

Сообщение от Safort
document.querySelector('#твой_id')

Чем не подходит
document.getElementId(<ИД>)

?

face2005 11.11.2014 13:37

ну как обьяснить?

face2005 11.11.2014 13:39

Цитата:

Сообщение от ksa (Сообщение 340411)
Чем не подходит
document.getElementId(<ИД>)

?

я же пример дал
http://dp-international.pp.ua/status
там есть id 222 и 223

ksa 11.11.2014 13:48

Цитата:

Сообщение от face2005
там есть id 222 и 223

Да хоть какой... Если имеешь дело с ИД - используй
document.getElementId(<ИД>)

Вместо всяких там
Цитата:

Сообщение от Safort
document.querySelector('#твой_id')


Safort 11.11.2014 13:54

Цитата:

Сообщение от ksa (Сообщение 340411)
Чем не подходит
document.getElementId(<ИД>)

?

Ничем. Просто дело вкуса. Пусть что хочет, то и использует.

ksa 11.11.2014 14:01

Пусть будет как месть ПХПистам, кои везде суют свой код... :lol:
Вот пример выше запрошеной проверки после загрузки.
<!DOCTYPE html>
<html>
<head>
<title>Пример на CSP</title>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<link rel='stylesheet type=text/css href=main.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
 $(document).ready(function() {
	 $('#area').load(
	 	'number.html##($g(%request.Data("trecking",1)))#',
	 	{},
	 	function () {
		 	if ('#($g(%request.Data("trecking",1)))#'=='') {
			 	return;
		 	}
		 	if (!document.getElementById('#($g(%request.Data("trecking",1)))#')) {
				alert('Не найдено');
			}
	 	}
	 );
 });
</script>
</head>
<body>
<form action="" method="post">
	<input name="trecking" id="trecking" type="text" />
	<input name="doGo" id="doGo" type="submit" value="Пошук" />
</form>

<CSP:IF CONDITION='$g(%request.Data("trecking",1))'>
	<p>Номер декларації #(%request.Data("trecking",1))#</p>
</CSP:IF>

 <div id="area"></div>
</body>
</html>

face2005 11.11.2014 14:06

не в том дело как подойти, а в том что если задать несуществующий id , условие
if (!document.getElementId('<?php echo $_REQUEST['trecking'] ?>')) {
alert('Не найдено');
}


не срабатывает...

ksa 11.11.2014 14:08

Цитата:

Сообщение от face2005 (Сообщение 340422)
не в том дело как подойти, а в том что если задать несуществующий id , условие
if (!document.getElementId('<?php echo $_REQUEST['trecking'] ?>')) {
  alert('Не найдено');
}

не срабатывает...

Ты его не туда суешь... :)
Я х/з как еще объяснить... :(

Ты пример мой смотрел? Он ведь рабочий!

face2005 11.11.2014 14:13

Цитата:

Сообщение от ksa (Сообщение 340420)
Пусть будет как месть ПХПистам, кои везде суют свой код... :lol:
Вот пример выше запрошеной проверки после загрузки.

сразу и сообщение вылезает и страница-донор загружается со всеми данными..

face2005 11.11.2014 14:25

все решил.. спасибо всем!

$(document).ready(function() {
$('#area').load('number.html #<?php echo $_REQUEST['trecking'] ?>', {}, function () { if (!document.getElementById('<?php echo $_REQUEST['trecking'] ?>')) {
alert('Не найдено');
}
} );
});


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