2011-09-01 83 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文件中。