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
Форумы портала PHP.SU :: Версия для печати :: Не очень понимаю реализацию
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Не очень понимаю реализацию

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

1. V2oD2o - 29 Мая, 2013 - 21:20:07 - перейти к сообщению
Перехожу с процедурки и 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 - т.к. объект еще не создан

вот Однако
2. DelphinPRO - 29 Мая, 2013 - 21:41:45 - перейти к сообщению
V2oD2o пишет:
вот

что вот? излил свой словесный понос? теперь медленно, с чувством, с толком, с расстановкой, объясни, что тебе нужно.
Только старайся не умничать, ибо с профессиональными оборотами у тебя беда, лучше простыми, человеческими словами...
3. V2oD2o - 29 Мая, 2013 - 21:57:50 - перейти к сообщению
Беды никакой нет, помоему - все предельно ясно, да и терминов вроде не использовал

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

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.  
4. tuareg - 29 Мая, 2013 - 22:06:10 - перейти к сообщению
V2oD2o пишет:
но правильный ли подход?

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

Это вообще, без комментариев Улыбка
Не надо так делать. Замучаетесь ошибки потом дебажить
5. V2oD2o - 29 Мая, 2013 - 22:12:56 - перейти к сообщению
tuareg пишет:
V2oD2o пишет:
но правильный ли подход?

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

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


так вот я и не пойму!
как мне к загруженному из ajax.php привязать обработчики?
6. tuareg - 29 Мая, 2013 - 22:22:42 - перейти к сообщению
Можно как то так http://jsfiddle[dot]net/tuareg/L8YUm/
7. V2oD2o - 29 Мая, 2013 - 22:26:05 - перейти к сообщению
tuareg пишет:
Можно как то так http://jsfiddle[dot]net/tuareg/L8YUm/


Здорово

 

Powered by ExBB FM 1.0 RC1