【发布时间】:2011-10-20 19:43:49
【问题描述】:
所以我构建了一个登录用户系统,该系统具有 int eh html 页面、div 容器和 javascript 文件。在 javascript 文件中,它对不同的 php 页面进行 ajax 调用,然后回显所选表单的 html 代码,然后将其插入 div 容器中。
(因此页面不会刷新 - 它的动态内容。如果有人抓取源代码,他们得到的只是 js 文件和 div 容器)
我的问题是我需要在通过 ajax 调用的 php 中的 echo'd html 中运行一些 javascript。
所以 ajax 调用 php,php 回显一个字符串,然后 ajax 执行 document.getElementById("Container").innerHTML=xmlhttp.responseText;
我的 php 代码有 2 个输入字段,我需要将它作为元素 .focus 放在第一个字段上。所以我有类似的东西被回应:
echo "
<form>
<input name='username' type='text' id='username'>
</form>
<script type='text/javascript'>
document.getElementById('username').focus();
</script>
";
你猜怎么着,它不起作用.. 请帮忙
【问题讨论】:
-
猜猜看,你发布的代码在我的电脑上运行。
-
你的意思是你想在
document.getElementById('username').focus()作为ajax响应返回之后执行它。 -
Ace 是正确的,停止运行 php 代码,它有效,当我通过 ajax 帖子和 document.getElementById('div_container').responcetext 泵它时......它没有,为什么
-
它不起作用,因为你没有告诉它被执行。浏览器不知道您已将该代码添加到源代码中。我已经编辑了我的答案并添加了一些想法。最好的一个是使用 js 框架。最简单和最肮脏的方法是使用 eval()。
标签: php javascript html ajax