postavkin

Рейтинг
601
Регистрация
06.01.2009

Прошу прощения, но может кто-то высказать свою мысль по этому вопросу?

Fesky:
Такое может произойти, когда картинка не успела загрузится. Причины могут быть разные - может Ваш хостинг отдавал медленно, может страничка очень тяжелая и т.д.

Да, вот это уже хуже. Хотя странное дело, настоено так, что сперва грузится как раз часть, где описание и картинки, а потом уже все остальное.

izbushka:
Он таки есть. И возникает из-за ajaxComplete. Перечитайте мои сообщения

аллилуйя, форма добавлена.

Осталось разобраться

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


var vbz='';
loadData4(vbz);
// нажатие кнопки "отправить"
$('#blokajax4 .pagination2 .active2').live('click',function(){
var vbz = $("#myform").serialize();
//alert(vbz);
loadData4(vbz);
izbushka:
Что тут странного?

Не понимаю вас.

Вы сказали - цикл где то на моей стороне, так как в маленьком кусочке кода, который мы с вами видит в теме - цикла нет.

А я написал - странно, ведь если закомментить вызов функции 4, то цикла нет.

Про передачу переменной, ответьте, пожалуйста.

izbushka:
А зачем вам $("#blokajax2").ajaxComplete?
Сделайте без нее

Согласен и понимаю, но странно - ведь если закомментить

loadData4(vbz);

то цикла нет.

---------- Добавлено 19.09.2013 в 16:45 ----------

Подскажите, пожалуйста, заодно здесь спрошу.

Хочу в js передать значение переменной.

файл php

<script type="text/javascript" src="new.js">

var myvar = "<?php echo $module;?>";

</script>

как в new.js получить переданную переменную? тоже измотался, но нет в рунете ответа.

izbushka:
Это ужас..

function loadData4(vbz){
$.ajax
({
type: "POST",
url: "/index_mail.php",
data: {vbz : vbz},
success: function(msg)
{
$("#blokajax4").html(msg);
}
});

}

function loadData2(page){
$.ajax
({
type: "POST",
url: "/file/info2.php",
data: {page : page},
success: function(msg)
{
$("#blokajax2").ajaxComplete(function(event, request, settings)
{
$("#blokajax2").html(msg);
var vbz='Чего там надо';
loadData4(vbz);
});
}
});

}

а можете показать как это написать без loadData4. Допустим load data4 просто нет.

Не работает. Так как если сделать всё как вы показали - то /index_mail.php перезагружается (т.е. постоянно в броузер - веб консоль) идет обращение к файлу

Причем дело именно в вызове loadData4. Так как если его убрать, то данные загружаются 1 раз.

rammlied:

Если Вам нужна не строка а сама форма то и ложите туда разметку формы:
$("#blokajax4").html('<div><input type=text/><br/><textarea></textarea></div>');

код формы очень! длинный.

---------- Добавлено 19.09.2013 в 15:59 ----------

izbushka:
Вместо строки $("#blokajax4").html('форма отправки письма'); делаете еще один ajax запрос, в success функции которого пишете эту строку

Вы пишете "делаете еще один ajax запрос, в success функции которого пишете эту строку" - а я понять не могу, что и куда.

какую строку писать и куда.

Если мне там нужна форма из файла, который я выше указал. А в файл формы надо передать переменную vbz, полученную путем сериализации 9помоему так наз) формы.

izbushka:
Я ж вам сказал:
loadData4(''); поместить после $("#blokajax2").html(msg); в функции loadData2.

А $('#blokajax4 .pagination2 .active2').... после $("#blokajax4").html(msg); в loadData4.

Может поломаться первая страница (которая уже с blokajax4), нужно знать всю логику чтоб сказать точно.

В таком варианте - вебконсоль браузера показывает постоянную подгрузку /sendmail/mail.php

т.у. функция loadData4 зациклилась.

Ладно - решил сделать вообще по другому, раз с формой такой гемор.

Спасибо большое что уделили время.

Сделаю просто на один див в коде больше и не буду див в див подгружать. Для формы всегда будет в коде.

И все таки если кто то покажет как конкретно код написать - буду рад.

Есть


$("#blokajax2").html(msg);
$("#blokajax4").html('форма отправки письма');

все работает , текст появляется "форма отправки письма".

Как впихнуть форму, которая находится по урл


type: "POST",
url: "/sendmail/index_mail.php",
data: {vbz: vbz},

Понятно, спасибо.

Я же сразу написал - что не силен в этом.

Я думаю для спеца код вполне простой, просто нужно чтобы у спеца было 5 минут времени мне помочь. Спасибо.

в файле ajax сделал, это единственное что приходит в голову


$("#blokajax2").html(msg);
var vbz='';
type: "POST",
url: "формы отправки письма",
data: {vbz: vbz},
success: function(loadData2)
{
$("#blokajax4").ajaxComplete(function(event, request, settings)
{

$("#blokajax4").html(msg);

});
}

В файл ajax ставил уже после

$("#blokajax2").html(msg);

строку вида - $("#blokajax4").html('форма отправки письма');

В страницу текст "форма отправки письма" выводит.

Так вот уже по разному пробовал - сама форма не выводится.

Вот и не могу понять - как вместо строки, вывести форму. Строка то выводится.



---------- Добавлено 19.09.2013 в 13:30 ----------

izbushka:

Вы думаете что тут loadData4(vbz) выполнится после загрузки данных в loadData2, а на самом деле, они выполнятся практически одновременно, не дожидаясь данных.
Надо засунуть loadData4 в success от loadData2

Да, дума так. Сейчас ещё раз устрою мозговой штурм. ((

Всего: 5509