我有一个网站,jQuery将应用程序页面加载到作为索引页面一部分的div中。
应用程序页面包含两个DIVs。1)搜索表,2)结果div。
搜索jQuery将结果加载到结果div中。每个结果都有调用到操作的按钮,jQuery将这些按钮加载到结果div中(不需要搜索栏)。用户完成对操作的调用表单,然后jQuery加载到结果div结果页面中。
这是第一次完美的工作,每次。但是,如果在加载结果页之后,用户从搜索栏再次单击“搜索”,我将到达用户必须选择“调用到操作”按钮的页面,但是会弹出一个javascript错误。
这方面的特别错误是:
TypeError: $('#cta-email').validate is not a function. (In '$('#cta-email').validate', '$('#cta-email').validate' is undefined)
然后,这个错误使得不可能单击任何其他基于javascript的内容。刷新页面修复它,但我不知道是什么导致这个脚本导致错误时,通过第二次。
其他笔记..。几乎每个由jQuery加载的页面底部都有一个<script>。我研究过一些关于脚本不通过AJAX加载触发等等的内容,但我不确定这是否是问题的一部分,因为,正如我所说,我可以遍历整个函数一次,但是当循环时,就会出现错误。
如果我漏掉了任何有助于解决这个问题的信息,请告诉我。
发布于 2015-08-24 06:16:28
查看了演示之后,问题似乎是在提交表单时重新加载资源(jQuery和jQuery验证)。这破坏了jQuery验证。
以下是网络请求(在提交表单后):

您可以看到results在查看了results之后重新加载了资源,我们看到了以下有问题的行:
<script async defer src="//maps.googleapis.com/maps/api/js?key=AIzaSyB36Tx2kI7o_o4tPsdiVJBf_wyPEf6r2dc"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/additional-methods.min.js"></script>https://stackoverflow.com/questions/32175138
复制相似问题