Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает javascript в документе, вызванным AJAX. (https://javascript.ru/forum/misc/28644-ne-rabotaet-javascript-v-dokumente-vyzvannym-ajax.html)

Hauster 27.05.2012 22:09

Не работает javascript в документе, вызванным AJAX.
 
Собственно, сабж.
Вызываю документ:
$(document).ready(function(){
  $('#butnews').click(function(){
  $.post(
  "/newsbox.php",
  writebox
  );});
});

function writebox(data){
document.getElementById('newsbox').innerHTML = data;
}


Появляется документ, вида:

<button onclick="opana()">Обновить</button><br>
<script>
function opana(){
    alert('123');
}
</script>

При нажатии на кнопку, ничего не происходит. В чём ошибка?

vadim5june 27.05.2012 22:31

так попробуйте
function writebox(data){
$('newsbox').html(data)
}

Hauster 27.05.2012 22:34

а так у меня перестаёт записываться документ.

Deff 27.05.2012 22:37

Hauster,
<button id=butAJaks onclick="opana()">Обновить</button><br>
<script>
$("#butAJaks").live("click", function(){
  alert("Oppana");
  alert('123')
});
</script>

melky 27.05.2012 22:43

Цитата:

Сообщение от Hauster
При нажатии на кнопку, ничего не происходит. В чём ошибка?

в том, что jQuery (или xmlhttprequest, не помню) вырезает скрипты из ответа AJAX

Deff 27.05.2012 22:48

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

Hauster 27.05.2012 22:51

Вот страница:
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
    </head>
    <body>
        <button id="button">Жми!</button>
        <div id="text">non</div>
                <script>
                $('#button').click(function(){
                    $.post(
                    "./123.html",
                    writebox
                    );});
            function writebox(data){
                document.getElementById('text').innerHTML = data;
            }
        </script>
    </body>
</html>


Вот страница 123:
<div id="butAjaks">123</div>
<script>
$("#butAJaks").live("click", function(){
 alert("Oppana");
});
</script>

Google Chrome ошибок не выдаёт.
Если поставить скрипт выше, ничего не произойдет.

melky 27.05.2012 22:52

Цитата:

Сообщение от Deff
melky,
Да нет - тут суть в привязках событий, трабла обычно нет если бы скрипт обработки подгружался вместе с кнопкой и чуть впереди по контенту

да ну ?

<button onclick="opa()">?!</button>
<script>
function opa() { alert("!!!!!!"); }
</script>


Hauster, читайте мой пост.

Hauster 27.05.2012 22:53

Цитата:

Сообщение от melky (Сообщение 177039)
да ну ?

<button onclick="opa()">?!</button>
<script>
function opa() { alert("!!!!!!"); }
</script>

Извините, но:

Скрипты существуют в Google Chrome, но они не работают.

И как быть в таком случае?

melky 27.05.2012 23:00

Цитата:

Сообщение от Hauster
Скрипты существуют в Google Chrome, но они не работают.
И как быть в таком случае?

мой пример не работает в Chrome?

а если просто в файл, откуда загружается html, поставить тег script с alert, то он вылетает?

попробуйте добавить в options параметр dataType со значением "html"
source


Часовой пояс GMT +3, время: 13:19.