【发布时间】:2012-08-14 20:39:06
【问题描述】:
早起的人。如何让我的 javascript 或 jquery 在动态生成的内容中工作。
基本上,我已经根据用户在导航菜单上单击的内容创建了生成内容的网页。
我面临的问题:
- 当主页从 content-page 生成内容时,jquery 或 javascript 将不起作用。
- 但是当我单独打开内容页面时,一切正常。
通过搜索收集的信息:
jQuery.load() 方法会忽略与动态生成的内容一起出现的脚本标签。
所以我尝试以下方法:
- 将我需要的标签放在主页面中,而不是在内容页面中。它不起作用。好像 jquery 找不到内容元素,因为它们是动态生成的。
- 由于 jQuery.load() 忽略脚本标签,我尝试了纯 javascript ajax,如 w3schools.com 的教学方式,xmlhttp 方式,生成内容。它不起作用。
- 单击按钮时。控制台无响应。
示例contact.php
<script type="text/javascript">
$(function() {
$("#submitUser").click(function(e) {
var fname = $("#fname").val();
$("#theresult").text(fname);
e.preventDefault();
});
});
<form id="contactForm">
<label for='fname' >First Name</label><br/>
<input id="fname" type="text" name="fname" maxlength="100" />
</form>
<div id="theresult"></div>
当这个contact.php被动态生成到其他页面时,它不起作用。当我单击“提交”按钮时,控制台没有显示任何响应。好像 jquery 不存在。
但是当我在浏览器中单独打开它时,它可以工作。
【问题讨论】:
-
重申您的问题。究竟是什么行不通?你做什么,你期望发生什么?您是否在浏览器中检查过错误控制台?报告了哪些错误?
-
我的建议是制作一个非常小的测试页面来演示问题,以便您可以发布代码。你甚至可以通过这样做找到解决方案。你绝对可以使用从 ajax 返回的 javascript/jquery ......我昨天做了。您是否尝试过使用 jQuery 的 .html() 方法插入内容?
-
@AlexMA .html() 插入整个东西并且动态生成的jquery会起作用吗?我没试过。我现在去试试
标签: php javascript jquery dynamic-content