从 php 调用 js 函数但未找到 属性
call js function from php but property not found
未捕获类型错误:调用 js 函数 test() 时无法读取 null 的属性。
这个示例代码有什么问题?
有没有更好的方法从 php 调用 js 函数进行 DOM 操作?
html
<form method="post" action="#">
<input type="text" id="inp">Test</input>
<button type="submit" id="submit" name="submit" value="submit"></button>
</form>
php
if(isset($_POST['submit')]
{
$wrongInput= some code...
if ($wrongInput)
{
echo "<script src=main.js></script>";
echo "<script type=text/javascript>test();</script>"
}
}
js
function test()
{
document.querySelector("#submit").style.background = "red";
}
不清楚页面中回显的位置...但是可以肯定的是,DOM 需要加载 querySelector
才能找到元素。所以使用 DOMContentLoaded
事件是确定的方式,不管回声在哪里。 ;)
if(isset($_POST['submit')]
{
$wrongInput= //some code...
if ($wrongInput)
{
echo "<script src='main.js'></script>";
echo "<script>document.addEventListener('DOMContentLoaded', test);</script>";
}
}
未捕获类型错误:调用 js 函数 test() 时无法读取 null 的属性。 这个示例代码有什么问题? 有没有更好的方法从 php 调用 js 函数进行 DOM 操作?
html
<form method="post" action="#">
<input type="text" id="inp">Test</input>
<button type="submit" id="submit" name="submit" value="submit"></button>
</form>
php
if(isset($_POST['submit')]
{
$wrongInput= some code...
if ($wrongInput)
{
echo "<script src=main.js></script>";
echo "<script type=text/javascript>test();</script>"
}
}
js
function test()
{
document.querySelector("#submit").style.background = "red";
}
不清楚页面中回显的位置...但是可以肯定的是,DOM 需要加载 querySelector
才能找到元素。所以使用 DOMContentLoaded
事件是确定的方式,不管回声在哪里。 ;)
if(isset($_POST['submit')]
{
$wrongInput= //some code...
if ($wrongInput)
{
echo "<script src='main.js'></script>";
echo "<script>document.addEventListener('DOMContentLoaded', test);</script>";
}
}