2011-09-01 26 views
0

我有一個頁面,我是「阿賈克斯在」一個表中,每個行上有一個單選按鈕,具有相同的名稱。每一行都是通過JSTL foreach動態生成的,但爲了簡單起見,我在這裏刪除了它。基本上,以下是另一頁上通過AJAX,喔...我使用jQuery注入1.8阿賈克斯JavaScript代碼無效

<script type="text/javascript"> 
$(document).ready(function(){ 
     if (!$("input[@name='student']:checked").val()) { 
      alert('Nothing is checked!'); 
      return false; 
     } 
     else { 
      alert('One of the radio buttons is checked!'); 
     }  
});   
</script> 
<table id="studentTable" border="1" style="width: 100%;"> 
     <tr><th>Select</th></tr> 
     <tr><td><input type="radio" name="student" value="${s.id}"/></td></tr> 
</table> 

所以Ajax調用,使用Firebug後,我的劇本有沒有在頁面與所有其他沿表的東西。事情是通過ajax傳入的javascript似乎不活躍。我看到有人建議使用「eval」函數。

有人可以提供一些這方面的指導,謝謝。

編輯

這是我使用注入上述在我的網頁腳本。

 function search() { 
      var resultNode = dojo.byId("results"); 
      dojo.xhrPost({ 
       url: "${searchstudentsurl}", 
       form: dojo.byId("searchform"), 
       load: function(newContent) { 
        dojo.style(resultNode,"display","block"); 
        resultNode.innerHTML = newContent; 
       }, 
       error: function() { 
        resultNode.innerHTML = "Your student search form could not be sent"; 
       } 
      }); 
} 

現在道場有「handleAs」選項,但如果我指定的選項handleAs:「HTML」,後乾脆失敗,因爲這條線的。我不知道如何使用dojo eval函數。請幫助,謝謝。

+0

我採取了將腳本放在頁面上,該頁面將被ajax更新,並在ajax調用成功時調用該函數。 – Binaryrespawn

回答

0

Documet就緒事件只會觸發主頁加載,而不是AJAX調用。設計Javascript邏輯,使其位於HTML之外,並加載到主頁面的.js文件中。