Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не очень понимаю реализацию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ООП + (ajax, jquery)
V2oD2o
Отправлено: 29 Мая, 2013 - 21:20:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 143
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Перехожу с процедурки и js на ООП и jq - не пойму как привязывать исполнительный скрипт для подгруженных через ajax данных..


Если раньше было все как в детском саду:
<span class=button onclick=function();>Кнопуля</span>

action.js:
function function () {
...
xmlhttp.open("POST", "ajax.php", true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("...");
}

то теперь то как быть с:
$(".class").live ("click", function (event) { type: "POST", url: "ajax.php", ... });

ну т.е. ясно что первый действующий элемент уже прописан в action.js при загрузке страницы, а надо подгрузить например окно с двумя кнопками "применить" и "отменить" - отменить - просто деструктим окно - это понятно, а вот к "применить" надо завязать jQ на отправку запроса в ajax.php - и в то же время заранее jq элемент "click" не пропишешь для "применить" в action.js - т.к. объект еще не создан

вот Однако
 
 Top
DelphinPRO
Отправлено: 29 Мая, 2013 - 21:41:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




V2oD2o пишет:
вот

что вот? излил свой словесный понос? теперь медленно, с чувством, с толком, с расстановкой, объясни, что тебе нужно.
Только старайся не умничать, ибо с профессиональными оборотами у тебя беда, лучше простыми, человеческими словами...

(Отредактировано автором: 29 Мая, 2013 - 21:42:12)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
V2oD2o
Отправлено: 29 Мая, 2013 - 21:57:50
Post Id


Частый гость


Покинул форум
Сообщений всего: 143
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Беды никакой нет, помоему - все предельно ясно, да и терминов вроде не использовал

попробовал вот так, работает, но правильный ли подход?

index.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span id=id289357>ТЕСТ</span><br>
  3. <span id=new>ТЕСТ</span>
  4. <script>
  5.         $("#id289357").bind("click", function (event) {
  6.                 $.ajax({
  7.                         type: "POST",
  8.                         url: "ajax.php",
  9.                         data: "action=loadTEXT",
  10.                         success: function (data) { $("#new").html(data); },
  11.                         error: function (msg) { alert(msg); }
  12.                 });
  13.         });
  14. </script>
  15.  


ajax.php
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($_POST['action']=="loadTEXT") {
  3.         echo "Выполнить";
  4.         echo "<script>$(\"#new\").bind(\"click\", function (event) { alert('работает!') });</script>";
  5. }
  6.  

(Отредактировано автором: 29 Мая, 2013 - 21:58:54)

 
 Top
tuareg
Отправлено: 29 Мая, 2013 - 22:06:10
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




V2oD2o пишет:
но правильный ли подход?

Нет, смотрим jquery.com
bind уже не используется.
PHP:
скопировать код в буфер обмена
  1.  
  2. echo "<script>$(\"#new\").bind(\"click\", function (event) { alert('работает!') });</script>";
  3.  

Это вообще, без комментариев Улыбка
Не надо так делать. Замучаетесь ошибки потом дебажить
 
 Top
V2oD2o
Отправлено: 29 Мая, 2013 - 22:12:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 143
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




tuareg пишет:
V2oD2o пишет:
но правильный ли подход?

Нет, смотрим jquery.com
bind уже не используется.
PHP:
скопировать код в буфер обмена
  1.  
  2. echo "<script>$(\"#new\").bind(\"click\", function (event) { alert('работает!') });</script>";
  3.  

Это вообще, без комментариев Улыбка
Не надо так делать. Замучаетесь ошибки потом дебажить


так вот я и не пойму!
как мне к загруженному из ajax.php привязать обработчики?
 
 Top
tuareg
Отправлено: 29 Мая, 2013 - 22:22:42
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Можно как то так http://jsfiddle[dot]net/tuareg/L8YUm/
 
 Top
V2oD2o
Отправлено: 29 Мая, 2013 - 22:26:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 143
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




tuareg пишет:
Можно как то так http://jsfiddle[dot]net/tuareg/L8YUm/


Здорово
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB