为何我用 js 调用 PHP 某个函数的返回值在 HTML 上显示老是出错?

2020-02-10 13:46:25 +08:00
 CR7sun

PHP 代码:

<?php
function form_getresultnum($formid) {
    $count = DB::result_first("SELECT count FROM ".DB::table('form_item_count')." WHERE formid='$formid'");
    return $count;
}
echo form_getresultnum(2);
?>

html 代码:

<p id="p1"></p>

window.onload = function s(){$("#p1").load("/i/template/form/source/function/function_form.php");}

为什么老是显示 Uncaught TypeError: Cannot read property 'load' of null at s ? 怎么都获取不到这个值呢?有没有大佬指导一下啊。

3753 次点击
所在节点    JavaScript
24 条回复
stabc
2020-02-10 13:48:47 +08:00
jquery 载入了么
jugelizi
2020-02-10 13:51:28 +08:00
看下 jquery 如何引入使用的文档 A
CR7sun
2020-02-10 13:54:31 +08:00
@stabc 载入了
CR7sun
2020-02-10 14:03:23 +08:00
@jugelizi 我引入 jquery 了还是不行啊
exploreXin
2020-02-10 14:08:31 +08:00
后端用的什么框架,打印下 $count 的值,看看变量类型是什么。
php01
2020-02-10 14:18:03 +08:00
这个不关 php 的事哈
jugelizi
2020-02-10 14:22:20 +08:00
@CR7sun

为啥就不喜欢看文档 很清楚的

$(document).ready(function(){
//$("p").click(function(){
// $(this).hide();
// });
});
eason1874
2020-02-10 14:33:34 +08:00
学会并保持阅读报错信息的能力。
Uncaught TypeError: Cannot read property 'load' of null at s
这话意思是在 s 找不到 load 属性
因为 window.onload = function s() 多了个 s,直接 function () 就对了
但一般不这样赋值,这样只能赋值一次,容易覆盖其他的,也容易被其他的赋值。

既然用了 jQuery 那就像楼上那样 $(document).ready(function(){})
没 jQuery 就用 window.addEventListener('load', function(){})
eason1874
2020-02-10 14:37:01 +08:00
@eason1874 #8 想了想。不对,说错了,应该是 $("#p1") 的 load 找不到,不关那个函数名的事。
troycode
2020-02-10 15:18:54 +08:00
$(document).ready(function(){})
justfindu
2020-02-10 15:28:21 +08:00
你没有 $("#p") 这是一个 null, 而且这个你需要使用 $("#p")[0]
ysc3839
2020-02-10 17:43:25 +08:00
在 js 的 $("#p1") 前面加个 debugger; 然后打开开发者工具刷新页面,中断后控制台看看 p1 元素是否存在。
Kokororin
2020-02-10 18:54:01 +08:00
应该是 jQuery 没有载入成功,此时的$=document.querySelector,jQuery 的$()永远不会返回 null,所以楼上有些说法是不正确的=w=
xxbutoo
2020-02-10 19:15:00 +08:00
为何 phper 总是提问这种问题 ??
masker
2020-02-10 19:24:58 +08:00
@xxbutoo 为什么总有人以为自己很优越很屌?
xxbutoo
2020-02-10 19:34:57 +08:00
@masker 为什么总有人喜欢盲人摸象?
jinliming2
2020-02-10 19:47:23 +08:00
js 代码要放在 <p id="p1"></p> 的后面
jinliming2
2020-02-10 19:55:09 +08:00
@Kokororin jQuery 没载入的话,$ 是 undefined 哦!
$=document.querySelector 只是 DevTools 下的一个“语法糖”,即便是在 DevTools 里 createElement 创建的 script 标签也会继承这个语法糖。
但是如果是网页中本身就有的 script 标签,默认是没有 $ 定义的!
xy90321
2020-02-10 20:22:36 +08:00
$ 别名被覆盖
t2doo
2020-02-10 20:49:23 +08:00
php 代码是 Discuz 的写法吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/643445

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX