JQuery и Div загрузка - PullRequest
       1

JQuery и Div загрузка

0 голосов
/ 10 марта 2011

Я пытаюсь создать приложение, похожее на портал, с приложением HeadContainer (в основном EAR), имеющим HTML-страницу.Эта html-страница содержит 2 элемента div.Каждый div снова является EAR - и каждый div загружает этот EAR, то есть приложение.Допустим, они AppChild1 и AppChild2.

Я загружаю AppChild1 и AppChild2, используя jQuery-загрузку в javascript HeadContainer.

Когда я пытаюсь отправить форму в AppChild1, я делаю пост ajaxиспользуя jQuery.Это внешний файл javascript в приложении AppChild1.Допустим, имя файла - scriptFile1.js

Firebug показывает мне, что он пытается найти scriptFile1.js в контексте HeadContainer, что неверно.

Когда я наводю курсор на форму вFireBug в HeadContainer - он показывает форму и заголовок AppChild1, но включенные файлы сценариев AppChild1 полностью отсутствуют.

Может кто-нибудь объяснить, что здесь происходит не так?

ОК, так как некоторые из вас хотеликод я дам структуру кода.

The HeadContainer EAR structure is like this
HeadContainer has a html called Main.html

    **Main.html**
----------------

    <html>
<head><title>Main Page</title>
<script lanuage="text/javascript">//Include jQuery library </script>
</head>
<body>

<form name="MainForm" id="MainId">
<div name="div1" id="div1"/><br />
<div name="div2" id="div2" /><br />
<input type="submit" id="MainSubmit" />
</form> 

</body>
</html>

Main.html has an asscociated javascript file main.js

$(document).ready(function() {
  $("#div1").load(div1url,function(){
   //load function call back implementation  
});//Close load

  $("#div2").load(div1url,function(){
   //load function call back implementation  
}); //Close load

});//doc.ready closing


//AppChild1 is a EAR which is loaded into div1
//AppChild1 has a html div1.html and a associated scriptFile1.js file. 
//It is this js file which is not getting loaded

**div1.html** is like this

    <html>
<head><title>Div1 Page</title>
<script lanuage="text/javascript">//Include jQuery library </script>
</head>
<body>

<form name="div1Form" id="div1Id">
<input name="txtName1" id="txtname1"/><br />
<div name="txtName2" id="txtName2" /><br />
<input type="submit" id="div1Submit" />
</form> 

</body>
</html>

**scriptFile1.js**

   $(document).ready(function() {
       $("#div1Submit").submit({    

         $.ajax({
             data: $("#div1Form").serialize(),
             url : "/someServlet",
             success:function(response){
              //load the next screen with values from the response object.Response is a
              //json object.
             }


            });

}); //Close Submit

    });//doc.ready closing

    //The AppChild2 is also on the similar lines

    //When I load the Main.html in Firebug - it looks for scriptFile1.js file under the //HeadContainer which is not correct. scriptFile1.js is under AppChild1 EAR. This is //happening at the load of the main page. 

// Когда я просматриваю источник, div1 if показывает форму и заголовок, но включенный // файл javascript scriptFile1.js отсутствует

1 Ответ

0 голосов
/ 10 марта 2011

Представьте, что у вас есть элемент в DOM, когда он загружается, и вы загрузите через ajax и добавите его в 'a1'.

$('#a1').load(my url, function(data){
   $(this).html(data);
});

Итак, у нас есть что-то вроде этого:

<div id='a2'>
   <div id='a2'>
   </div>
</div>

И в вашем 'a2' у вас есть какое-то событие, когда якорь нажимается, и это будет предупреждением.Это не будет работать:

$('#a2 a').click(function(){
   alert('some action');
});

Это будет:

$('#a2 a').live('click', function(){
   alert('some action');
});

Проверить .live функцию в Jquery Docs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...