Ajaxed javascript代码无效

时间:2011-09-01 00:30:24

标签: javascript ajax radio-button eval

我有一个页面,我在其中“ajax in”一个表格,每个行上都有一个同名的单选按钮。每行都是通过JSTL foreach动态生成的,但为了简单起见,我在这里删除了它。基本上,以下是通过ajax注入另一页,哦......我正在使用jquery 1.8

 <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";
              }
          });
}

现在dojo有“handleAs”选项,但是如果我指定选项handleAs:“html”,那么帖子就会失败,因为这行。我不知道如何使用dojo eval函数。请帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

文档就绪事件仅针对主页面加载而非AJAX调用触发。设计Javascript逻辑,使其位于HTML之外,并加载到带有主页的.js文件中。