С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/27: Рейтинг темы: голосов - 27, средняя оценка - 4.89
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386

Подгруздка контекста.

20.03.2011, 21:31. Показов 6143. Ответов 62
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подгружаю контекст в див с помощью аякса.
JavaScript
1
2
3
4
5
6
7
8
$(document).ready(function(){
                $.ajax({   
                    type: "POST",   
                    url: "greetings.php",   
                    data: "url=whod",   
                    success: function(html){$("div#whod").html(html);}
                }); 
});
ну вот в подружейнном контексте скрипт не находит объекты хотя этиже объекты вставленные в код вручную работают норм.
к примеру:
JavaScript
1
2
3
4
$("a#viod").click(function(){
                           alert("нажалась");
 
});
вот подгружаемый файл.
HTML5
1
2
3
<a id="viod" href="javascript:void(0);">
Выйти
</a>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2011, 21:31
Ответы с готовыми решениями:

Потеря контекста
Доброго времени суток. Помогите понять следующий пример: взят от сюда https://learn.javascript.ru/bind var user = { ...

Привязка контекста к {}
Можно привязать контекст к объекту? var obj1 = { prop: 1, method: { set: function () { return...

Задание контекста в сallback-функциях
Всем привет! В последние время JS становится всё асинхронее и повсюду используются callback'и. Классная штука, однако проблема в том,...

62
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
20.03.2011, 21:42
Лучший ответ Сообщение было отмечено как решение

Решение

это потому что Jquery на видит объекты, которые были созданы уже после генерации страницы... тут 2 решения:
1 - всунуть код
JavaScript
1
2
3
4
$("a#viod").click(function(){
                                                   alert("нажалась");
 
});
в
JavaScript
1
2
3
4
success: function(html){
$("div#whod").html(html);
//вот сюда
}
или 2 вариант, использовать вместо вот этого метода
JavaScript
1
2
3
4
$("a#viod").click(function(){
                                                   alert("нажалась");
 
});
вот этот
JavaScript
1
2
3
4
$("a#viod").live('click', function(){
                                                   alert("нажалась");
 
});
вот описание метода http://api.jquery.com/live/
3
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
20.03.2011, 23:13  [ТС]
спасибо с меня +
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
20.03.2011, 23:15
пожалуйста)
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
20.03.2011, 23:17  [ТС]
второй способ мне идеально подходит
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
20.03.2011, 23:26
Лучший ответ Сообщение было отмечено как решение

Решение

единственное, старайся по возможность всетаки использовать .click(function(){}) он меньше систему грузит, при единичном использовании разницы нету, но при большом количестве строчек с .live('click', function(){ в скорости разница будет заметна, т.е. вот этот вариант
JavaScript
1
2
3
4
$("a#viod").click(function(){
                                                   alert("нажалась");
 
});
и этот
JavaScript
1
2
3
4
$("a#viod").live('click', function(){
                                                   alert("нажалась");
 
});
по скорости одинаковые
но в следующем случае
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$("a#viod1").click(function(){
                                                   alert("нажалась");
 
});
$("a#viod2").click(function(){
                                                   alert("нажалась");
 
});
$("a#viod3").click(function(){
                                                   alert("нажалась");
 
});
и т.д....
и
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$("a#viod1").live('click', function(){
                                                   alert("нажалась");
 
});
$("a#viod2").live('click', function(){
                                                   alert("нажалась");
 
});
$("a#viod3").live('click', function(){
                                                   alert("нажалась");
 
});
и т.д....
первый вариант будет быстрее
3
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
20.03.2011, 23:44  [ТС]
спасибо ещё один вопросик....
как в этом подгруженном контексте убрать значения input
тобиш
JavaScript
1
document.forms.arr.value = '';
тут не работает
убрать нужно из этой поля
HTML5
1
<input id="arr" type="text" value="arrrrrrrrrrr">
и так тоже неработает
JavaScript
1
$(this).login.value = '';
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
21.03.2011, 00:44
вроде вот так
JavaScript
1
$("input#arr").attr('value', '');
или
JavaScript
1
$("input#arr").val('');
или
JavaScript
1
$("input#arr").removeAttr('value');//удалит атрибут и значение соответственно
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
22.03.2011, 00:40  [ТС]
ещё вопросик
PHP
1
echo '<tr><td><a href="index.php?p=ydal&idir='.$zayva['akcid'].'">Удалить<a></td></tr>'
нужно сделать так чтобы код сверху работал через JS.
но дело в том что этот код генерируется автоматически циклом и данные берутся из БД.
как быть в данном случаи я не знаю
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
22.03.2011, 17:44
сделай через функцию, допустим вот так
я так понял что p=ydal -- это действие удалить
PHP
1
echo '<tr><td><a href="javascript: del("'.$zayva['akcid'].'");">Удалить</a></td></tr>'
и сам JS
JavaScript
1
2
3
4
function del(idir) //функция которая будет удалять что-то с идентификатором "idir"
{
...
};
или можно сделать еще более красиво
PHP
1
echo '<tr><td><a id="del" title="'.$zayva['akcid'].'" href="javascript: void(0);">Удалить</a></td></tr>'
и сам JS
JavaScript
1
2
3
4
$('a#del').click(function (){ //при нажатии на элемент с тегом А и айдишником DEL будет выполнятся код внутри
var dir_name = $(this).attr('title'); //берем идентификатор из атрибута TITLE, this - обозначает что мы берем атрибут из элемента, который запустил этот код, т.е. из элемента с тегом A и айдишником DEL
...
});
Добавлено через 2 минуты
а внутри можешь выполнять что захочешь, аякс запросы и т.п.
2
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
22.03.2011, 22:12  [ТС]
вот о втором варианте я и говорил спасибо....
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
22.03.2011, 23:32
пожалуйста)
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
23.03.2011, 00:16  [ТС]
ещё вопросик.
В этой теме Изменение страници без перезапуска. .
вы мне объяснили как подгрузить...
У меня на одной из страниц есть капча. Она генерируется скриптом....
выводится вот так <img src="cap.php" />.
текст картинки генерируется вот так...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$length = "6";
$randstr = "";
for($i=0; $i<$length; $i++) {
$randnum = mt_rand(0,61);
if ($randnum < 10) {
$randstr .= chr($randnum+48);
} else if ($randnum < 36) {
$randstr .= chr($randnum+55);
} else {
$randstr .= chr($randnum+61);
}
}
$_SESSION['cap'] = $randstr;
?>
а вот и сама картинка генерируется....
<
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
?php
session_start();
$img = imagecreate(120,30);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$red = imagecolorallocate($img,255, 0, 0);
$pink = imagecolorallocate($img, 200, 0, 150);
imagefill($img, 0, 0, $white);
putenv('GDFONTPATH=' . realpath('.'));
imagettftext($img, 16, 0, 15, 24, $black, "1.ttf", $_SESSION['cap']);
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>
Проблема в том что текст генерируется а вот картинка не меняется.....
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
23.03.2011, 00:29
немного не понял, проблема в том что картинка капчи не гинерится или она всетаки генерится, но не отображается? или она и генерится и отображается, но надо сделать что бы эта картинка обнавлялась динамически при нажатии "Обновить рисунок"?)
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
23.03.2011, 14:22  [ТС]
она генерируется и обновляется при обновлении страници

но сайт сделан так что при переходе по меню страници подгружаются в див и картинка капчи как я понял идёт в КЕШ

когда я снова подгружаю страницу с капчой в див текс капчи генерируется но картинка остаётся прежней с прошлого генерируемого кода.
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
23.03.2011, 16:31
HTML5
1
<img src="cap.php" />
эту строчку ты вставляешь как ШТМЛ с ссылкой на ПХП файл?
если так посмотри в этом файле строчку которая возвращает адрес на рисунок и добавь к возвращаемой строчке rand(1,1000000), т.е. если у cap.php возврат ссылки на рисунок такой
PHP
1
echo $img_link;
замени ее на
PHP
1
echo $img_link."?".rand(1,1000000);
получится что у тебя ссылка на рисунок будет постоянно разная и браузер будет думать что подгружаются разные рисунки, хотя на самом деле будет постоянно рисунок с линком допустим /i/capcha.gif
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
23.03.2011, 17:22  [ТС]
дело в том что
HTML5
1
<img src="cap.php" />
cap.php это и есть файл где генерируется картинка...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
session_start();
$img = imagecreate(120,30);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$red = imagecolorallocate($img,255, 0, 0);
$pink = imagecolorallocate($img, 200, 0, 150);
imagefill($img, 0, 0, $white);
putenv('GDFONTPATH=' . realpath('.'));
imagettftext($img, 16, 0, 15, 24, $black, "1.ttf", $_SESSION['cap']);
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>
тут скрипт генерируется текст скрипта берётся из $_SESSION['cap']....
в сессию он суётся вот тут:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$length = "6";
$randstr = "";
for($i=0; $i<$length; $i++) {
$randnum = mt_rand(0,61);
if ($randnum < 10) {
$randstr .= chr($randnum+48);
} else if ($randnum < 36) {
$randstr .= chr($randnum+55);
} else {
$randstr .= chr($randnum+61);
}
}
$_SESSION['cap'] = $randstr;
?>
этот код распаложен на той же страници где и
<img src="cap.php" /> только чуть выше.

Добавлено через 2 минуты
аа всё понятно... нужно сделать вот так...
PHP
1
<img src="cap.php<? echo "?".rand(1,1000000000);>" />
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
23.03.2011, 17:42
если начало работать нормально, значит вставил правильно) я просто не могу тебе с уверенностью сказать именно туда ли ты вставил, потому что я не "держал" этот скрипт в руках и с ним не работал)

Добавлено через 1 минуту
у тебя в ШТМЛ должен быть сгенерированный код вида
HTML5
1
<img src="/i/some_image.gif?1234" />
если в ШТМЛе будет похожая строчка, значит будет работать нормально)
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
23.03.2011, 23:53  [ТС]
я не такой тупой...
догадался куда вставить.. работает как часы...
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
24.03.2011, 02:12
Dzhekson6000, так я сам не знал будет ли оно работать, я предполагал что так должно нормально работать) поэтому и написал, что если работает значит все верно вставил)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2011, 02:12
Помогаю со студенческими работами здесь

Инструменты для просмотра контекста замыкания
Столкнулся с такой проблемой: есть много функций, замкнутых относительно некоторых объектов, например,function add(x) { return...

Подгруздка поста вместо стандартного page break
Возможно ли сделать так что бы статья не загружалась полностью, особенно если она длинная, но при прокрутке, подгружает контент? Это...

Получение контекста!
Здавствуйте участники форума! :) На повестке возник такой вопрос. Обрисую ситуацию-&gt; Есть класс, унаследованный от родителя,...

Lifetime контекста
Как у вас в крупных проектах на ASP.MVC живёт контекст базы данных? То есть пока всё просто и общение с базой вынесено в отдельный слой, то...

Цена контекста в Японии
Если я не ошибаюсь, клики в америке и в европе порой стоят значительно дороже наших, отчественных. В связи с этим возникает вопрос: на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru