Php 试图从加载了ajax的div中获取ElementById
我试图从一个加载了ajax的div中获取ElementById,但我做不到。让我们解释一下: 在“example.php”中,我有以下js代码:Php 试图从加载了ajax的div中获取ElementById,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我试图从一个加载了ajax的div中获取ElementById,但我做不到。让我们解释一下: 在“example.php”中,我有以下js代码: <script type= "text/javascript"> var page=document.getElementById("table_page").value; $(document).ready(function() { function update() { $.ajax({ type:
<script type= "text/javascript">
var page=document.getElementById("table_page").value;
$(document).ready(function() {
function update() {
$.ajax({
type: 'GET',
url: "show_class_entrys.php?q="+page,
timeout: 1000,
success: function(data) {
$("#show_class_entrys_js").html(data);
window.setTimeout(update, 3000);
},
});
}
update();
});
</script>
var page=document.getElementById(“表格页面”).value;
$(文档).ready(函数(){
函数更新(){
$.ajax({
键入:“GET”,
url:“show_class_entrys.php?q=“+页面,
超时:1000,
成功:功能(数据){
$(“#show_class_entrys_js”).html(数据);
设置超时(更新,3000);
},
});
}
更新();
});
但是id='table_page'的输入使用ajax文件'loaded.php'加载。“loaded.php”文件包含以下内容:
<?php echo " <input type='hidden' id='table_page' value='7' /> "; ?>
这是一个简单的修复。您只需在success函数中覆盖页面
,因为它将获得新值
$(document).ready(function() {
var page=$("#table_page").val();
function update() {
$.ajax({
type: 'GET',
url: "show_class_entrys.php?q="+page,
timeout: 1000,
success: function(data) {
$("#show_class_entrys_js").html(data);
window.setTimeout(update, 3000);
page=$("#table_page").val();
},
});
}
update();
});
问题是页面
在DOM更改之前设置,ajax调用的成功部分发生在DOM更改之后,因此它可以考虑新的元素/数据尝试以下方法:
$(document).ready(function () {
var page = '';
$('#divLoadedID').load('loaded.php', function () {
page = $("#table_page").val();
update();
});
function update() {
$.ajax({
type: 'GET',
url: "show_class_entrys.php?q=" + page,
timeout: 1000,
success: function (data) {
$("#show_class_entrys_js").html(data);
window.setTimeout(update, 3000);
},
});
}
});
在AJAX调用完成之前,DOM中不存在该元素。您需要在成功回调中运行依赖于#table_page
值的任何功能。既然您已经在使用jquery,那么最好使用$(“#table_page”).val()
而不是getElementById
table_page是否存在于example.php中?同样“在”example.php“我有这个js代码:”。不要把JS放在PHP中,它不能被缓存,更难维护。将其移动到.js文件并使用标记。我会尝试,然后通知您。