Javascript 如何调用php echo中的js脚本

Javascript 如何调用php echo中的js脚本,javascript,php,function,Javascript,Php,Function,我的整个网站几乎都使用php,甚至是html 我正在尝试为输入调用onchange事件上的函数: 我试了又试,但还是没能成功。我甚至试过简单的js函数,但什么都没试过 它只是不会调用函数,除非它是在纯html中 $data.= '<td><input class="form-control" type="number" value="" onchange="<script type=\'text/javascript\'>alert(\'ehh\')><

我的整个网站几乎都使用php,甚至是html

我正在尝试为输入调用onchange事件上的函数:

我试了又试,但还是没能成功。我甚至试过简单的js函数,但什么都没试过

它只是不会调用函数,除非它是在纯html中

$data.=  '<td><input class="form-control" type="number" value="" onchange="<script type=\'text/javascript\'>alert(\'ehh\')></script>"</td>';

$data.='问题不在于PHP,而是这完全是格式错误的HTML:

<input class="form-control" type="number" value="" onchange="<script type=\'text/javascript\'>test();></script>"
您不会将
标记放在
onXXX
属性中。只要把JavaScript语句放进去

$data.=  '<td><input class="form-control" type="number" value="" onchange="alert(\'ehh\')"</td>';

$data.='其他人已经告诉过你如何解决这个问题,让它正常工作,但你所做的在其他方面是错误的。不管怎样,内联事件处理程序都不好,您应该使用javascript附加它们(查找
addEventListener
)。更重要的是。。。(请参阅下一条评论)…不要尝试将大量HTML(包括
标记)作为PHP字符串文本输出。这是保证不可读的,并使你犯错误与报价各地。(它还将打破编辑器对HTML和JS所做的任何语法突出显示。)将输出一个
.php
文件,保持不变,除了标签之外的任何东西-所以你的大部分文件都是这样写的,并且只在需要动态生成内容的地方使用PHP。我真的不喜欢在同一个文件中使用PHP和html标签,这会让它有点凌乱和难看imo@BrandonGx97:请记住,您首选的方法是在一行代码中混合三种不同的语言代码。这只是在乞求语法错误。仅在这个问题中,在这一行中,您已经遇到了两个这样的错误。使用这种方法,您应该会遇到更多的问题。“我真的不喜欢在同一个文件中包含php和html标记”……现在您已经知道了,它们只是在echo语句中而已。当它们不在的时候,阅读起来容易得多,正如其他人所说,当你写它们的时候,你犯错误的可能性也更小。在我看来,所有这些额外的转义引号都是丑陋的东西,而不是PHP和HTML之间的切换:-)$data.='@BrandonGx97:您可以将您的PHP值输出到页面,就像您在页面中的任何其他位置一样。你试过什么,什么不起作用?作为提示,当您尝试使用它时,如果它没有按预期工作,那么您的第一步应该是检查生成的HTML页面源代码,看看它是否符合您的预期,并检查浏览器的JavaScript控制台是否存在错误。一旦你有了一个尝试和一个特定的问题,这听起来像是另一个堆栈溢出问题的良好开端。我尝试了我刚刚发布的内容,这就是我如何在html的回音中添加php的原因。这是错误:@BrandonGx97:它是如何失败的?我不知道
$var
中有什么,也不知道预期的结果是什么。但一般来说,串接字符串文本和变量用于输出PHP值。编辑:这看起来像是一个JavaScript错误。那么页面源中的输出是什么呢?例如,如果
$var
是一个字符串,则JavaScript中缺少引号。是的,它是一个字符串。
<input class="form-control" type="number" value="" onchange="test()">
$data.=  '<td><input class="form-control" type="number" value="" onchange="alert(\'ehh\')"</td>';