错误javascript方法没有定义调用使用php


error javascript method is not defined calling using php

我无法通过php点击一个按钮进行javascript函数调用。我把它在我的php代码调用之前的方法。然而,我得到了错误未捕获的ReferenceError: pouchITSave未在控制台上定义。奇怪的是,在控制台上它显示行号为profile.html:1。这是之前调用searchcode.php的文件。我不确定这里有什么问题,为什么它会说以前文件的行号,而实际上该方法存在于searchcode.php中?有人能帮忙吗?

错误:

Uncaught ReferenceError: pouchITSave is not defined   profile.html:1
onClick

searchcode.php

<?php
ob_start();
header("Access-Control-Allow-Origin: *");
header('Content-type: ' . $image['mime_type']);
?>
<!DOCTYPE html>
<html>
<head>
<script   type="text/javascript" >
function pouchITSave(){
alert("PouchITSavecalled = ");
}
</script>  
</head>
<body>
<?php
    echo '<input type="submit" class="btn" id="'.$row['UniqueAdvertisingCode'].'" onclick="pouchITSave()" value="POUCH"  >';
?>

</body>
</html>

你的javascript代码不能放在searchcode.php中。它必须放在文件的顶部,调用searchcode.php.

这背后的主要原因是脚本必须在主文件的OnLoad事件上加载,如果没有加载,则解释器将无法识别该函数。

另外,你还必须回显那些你放在searchcode.php上的标签。

尝试替换你的echo:

echo "<input type='submit' class='btn' id='".$row['UniqueAdvertisingCode']."' onclick='pouchITSave();' value='POUCH' >";

因为你有"'的混合物,我建议你选择"的外部报价,在我看来更容易理解和维护,并确保Vhevhang说,你也在检索js代码,如果不把它放在你的html文件页面的底部。