Делаю jquery POST с загрузкой.
Возврощаю данные, и мне надо кликнуть на сылку(возврощёную) и сделать ещё 1 POST только с загрузкой в другом <div>.
Но как токо я делаю второй POST - в возврощёном <div>,у меня автоматически вызывается первая загрузка,даже если я не указываю вообще загрузку во 2-ом POST.
Вот код. File index.html
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.uptrig').click(function() {
var a = $(this).attr("cont");
$(document).ajaxSend(function() {
$("#contentLoading").show();
$("#content").hide();
});
$(document).ajaxStop(function() {
$("#contentLoading").fadeOut("slow");
$("#content").show();
});
var t = "POST/test.php";
$(this).html("Pressed");
$.post(t,{time: "2pm"}, function(data)
{
$("#box2").append(data);
});
});
});
function postTwo()
{
var tr = "POST/a.php";
$.post(tr,{time: "2pm"}, function(data)
{
$("#box3").html(data);
});
};
</script>
</head>
<body>
<div id='contentLoading' style='display:none;'>loading.........</div>
<div id='content' style='display:block'>
<a href="#" id="link">jQuery</a>
<div id='box2'></div>
<div id='uniq1' class='uptrig' cont='12'>Click here - First Post data</div>
<div id='contentLoadingf' style='display:none;'>loading 2</div>
<div id='contentf'>
<div id='box3'>Second data</div>
</div>
</div>
</body>
</html>
File test.php
<?php
sleep(1);
echo "<div id='ss' class='ds' onClick='postTwo();'><br>><b>CLICK here to post</b><</div>"
?>
Спустя 28 минут, 44 секунды (6.04.2010 - 09:57) Michael написал(а):
Странно, вроде все верно. Может в верстке что-то ?:
='postTwo();'><br>><b>C
='postTwo();'><br>><b>C
Спустя 54 минуты, 33 секунды (6.04.2010 - 10:51) Dezigo написал(а):
А ты проверь..
У меня проект,нужно после загузки страници,сделать ещё возможность голосовать.. как на youtube.
Только я не догоняю почему после подгуженого <div>,я оброщаюсь и загрузка сама по себе опять активируется..
Этот код для примера накидал,но типичная ситуация.
У меня проект,нужно после загузки страници,сделать ещё возможность голосовать.. как на youtube.
Только я не догоняю почему после подгуженого <div>,я оброщаюсь и загрузка сама по себе опять активируется..
Этот код для примера накидал,но типичная ситуация.
Спустя 11 минут, 44 секунды (6.04.2010 - 11:03) Dezigo написал(а):
Я записал этот пример. Что я имею введу и как это срабатывает - не правельно.
http://www.youtube.com/watch?v=xVSQ83tT9-E
http://www.youtube.com/watch?v=xVSQ83tT9-E
Спустя 4 часа, 46 минут, 58 секунд (6.04.2010 - 15:50) Michael написал(а):
В чем то другом у тебя проблема. Я у себя проверил - никаких странностей не заметил.
Код: index.html
xxx.php:
yyy.php:
Код: index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Два аякс-запроса</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="inc/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#one').click(function() {
$.post('./xxx.php', function(data) {
//alert(data);
$(document.body).append(data);
});
});
});
function postTwo() {
$.post('./yyy.php', function(data) {
$('div#three').append(data);
});
}
</script>
<style type="text/css">
div {
height:100px;
cursor:pointer;
}
div#one {
background-color:#00CC00;
}
div#two {
background-color: #66CCFF;
}
div#three {
background-color: #FFFFCC;
}
</style>
</head>
<body>
<div id="one">One</div>
<div id="three">Three</div>
</body>
</html>
xxx.php:
<?php
echo "<div id='two' class='ds' onClick='postTwo();'><b>CLICK here to post 2</b></div>";
?>
yyy.php:
<?php
echo "<b>Result put in three </b>";
?>
Спустя 5 часов, 56 минут, 48 секунд (6.04.2010 - 21:47) Dezigo написал(а):
ты сделал без загрузки.
а мне надо с
проблема с загрузкой,она вызывается сама по себе,когда я делаю второй раз пост. заметь это на примере или на видео.
а мне надо с
$(document).ajaxSend(function() {
$("#contentLoading").show();
$("#content").hide();
});
проблема с загрузкой,она вызывается сама по себе,когда я делаю второй раз пост. заметь это на примере или на видео.
Спустя 10 часов, 42 минуты, 25 секунд (7.04.2010 - 08:29) Michael написал(а):
Ты появление сообщения о загрузке называешь загрузкой?
Я под загрузкой понимаю именно загрузку данных аяксом.
В твоем случае элементарно решается так:
Я под загрузкой понимаю именно загрузку данных аяксом.
В твоем случае элементарно решается так:
<script type="text/javascript">
var who = '';
$(document).ready(function(){
// не надо их внутрь первой функции - это не играет роли. События навесятся и будут висеть
$(document).ajaxSend(function() {
if (who != 'one') return;
$("#zag").show();
});
$(document).ajaxStop(function() {
if (who != 'one') return;
$("#zag").hide();
who = '';
});
$('#one').click(function() {
who = 'one';
$.post('./xxx.php', function(data) {
//alert(data);
$(document.body).append(data);
});
});
});
function postTwo() {
who = 'not_one';
$.post('./yyy.php', function(data) {
$('div#three').append(data);
});
}
</script>
Спустя 11 часов, 55 минут, 38 секунд (7.04.2010 - 20:25) Dezigo написал(а):
кривоватый способ.. но способ заглушки
у меня были такие идей но это не то.
я максимально подробно написал функцию,что бы было понятно..сдесь..
конечно я разбил всё на функции..и способ у меня другой..
но идеея сдесь такае же -
в файле js 500 строк.. и каждый раз проверяется наличие
у меня были такие идей но это не то.
я максимально подробно написал функцию,что бы было понятно..сдесь..
конечно я разбил всё на функции..и способ у меня другой..
но идеея сдесь такае же -
в файле js 500 строк.. и каждый раз проверяется наличие
if (who != 'one')я бы не хотеле этого.
Спустя 11 часов, 9 минут, 39 секунд (8.04.2010 - 07:34) Michael написал(а):
Цитата (Dezigo @ 7.04.2010 - 19:25) |
кривоватый способ.. но способ заглушки |
Тем не менее официальный метод решения по тому же принципу.
Заглянул на сайт jQuery и посмотрел:
$('.log').ajaxSend(function(e, xhr, settings) {
if (settings.url == 'ajax/test.html') {
$(this).text('Triggered ajaxSend handler.');
}
});
идет проверка по адресу.
Вообще хорошо бы тебе самому почитать про эти методы ajaxSend, потому что ты неверно понимаешь их работу.
Цитата |
я бы не хотеле этого. |
Что может быть проще - не используй события ajaxSend (и подобные) вообще, а делай все вручную.
Спустя 1 час, 6 минут, 17 секунд (8.04.2010 - 08:41) Dezigo написал(а):
мне не нужно вызывать повторно событие - моё событие.
ясно что это функция ajaxSend, которая исполняется всякий раз после отправки запроса AJAX. Это событие Ajax.
ясно что это функция ajaxSend, которая исполняется всякий раз после отправки запроса AJAX. Это событие Ajax.
Цитата |
Ты появление сообщения о загрузке называешь загрузкой? |
да.
Я уже просмотрел сайты jquery,forum решения бага этого ещё не видел. Я хочу ещё решения.,пока сделаю как есть. в твоём примере идея.
Я уже просмотрел сайты jquery,forum решения бага этого ещё не видел. Я хочу ещё решения.,пока сделаю как есть. в твоём примере идея.
Спустя 8 минут, 42 секунды (8.04.2010 - 08:49) Michael написал(а):
Цитата (Dezigo @ 8.04.2010 - 07:41) |
Я уже просмотрел сайты jquery,forum решения бага этого ещё не видел. |
какого бага? Что работает не так, как подразумевалось разработчиками jQuery?