jquery ajax проблем със страниците които отварям

NewGuy

Registered
Здравейте. Имам проблем със страниците които отварям с load (jquery). Проблема е, че във тези страници не работи никакъв javascript код.

Казаха ми да търся за DOM но така и не разбрах как мога да го използвам и да ми помогне в ситуацията.

Ето малко код за размишление.

index.php
Код:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
        <link rel="stylesheet" href="style.css" type="text/css">
        <script type="text/javascript" src="jquery.js">
        </script>
        <script type="text/javascript" src="ajax.js">
        </script>
    </head>
    <body>
        <table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="box">
            <tr>
                <td class="top">
                    <a href="#" onclick="ajax('start')">Филми</a>
                    | <a href="#" onclick="ajax('add')">Добави</a>
                </td>
            </tr>
            <tr>
                <td class="other">
                	<div id="osnoven"></div>
                </td>
            </tr>
        </table>
    </body>
</html>

ajax.js
Код:
$(function(){
    $("#osnoven").load("ajax.php");
    $("#click").click(function(){
    	var ajaxa = $("#imdb").val();
		alert(ajaxa);
	});
});

function ajax(promenliva){
    $("<center><img src='1.gif' alt='loading'></center>").appendTo("#osnoven");
    $("#osnoven").load("modules/" + promenliva + ".php");
}

modules/add.php
Код:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
        <link rel="stylesheet" href="style.css" type="text/css">
        <script type="text/javascript" src="jquery.js">
        </script>
        <script type="text/javascript" src="ajax.js">
        </script>
    </head>
    <body>
    
<center>
<input type="text" size="50" id="imdb"><br>
<input type="button" value="Добави" id="click">
</center>

    </body>
</html>
 
Значи искаш джаваскрипт код, кото ти взимаш от страницата заредена с аякс да се изпълнява на главната страница?
Ако е така, просто разделяш кода по следният начин:
Код:
джаваскрипт код 
###
html код

И после когато извикваш кода, в джаваскрипт функцията разделяш съдържанието със split('###') и първата част я прекарваш през eval, а другата част, която ти се пада html кода си го изваждаш както си искаш :)
и ще трябва да смениш метода от $('ne6to') . load(); на $.ajax :)
Прегледай го в документацията.
Ако не съм те разбрал, пиши :?:
 
Не успях да схвана какво имаш предвид със split.

Проблема е, че като заредя някоя страница с load в тях не работи jquery-то.

Пробвах с $.get да го направя г.д. стана но пак не работеше jquery. С $.ajax не успях да го направя. :cry:
 
Виж сега, в страница, която е извикана с аякс таговете <script> и <style>
се пропускат от парсера, т.е. все едно ги няма.
Можеш да използваш функции, дефинирани в главната страница.
Но има начин да подкараш джаваскрипт зареден с аякс.
Ето пример:
Код:
 $ . ajax({
   type: "GET",
   url: "test.php",
   success: function(msg){
     var split = msg.split('###');
     var javascript = split[0];
     var html = split[1];
     //run JS
     eval( javascript );
     //show HTML
     $( 'ne6to' ) . html( $html );
   }
 });
А съдържанието на тест.пхп ще е :
Код:
function ninja(...){
....
}
### //разделителят
<a href....>
В документацията има всичко.Не се занимавай да четеш инфото.
Просто цъкай на табчето с примерите и гледай как става, аз така правя :D
 

Back
Горе