php - Javascript 函数未定义

标签 php javascript undefined-function

我从 Chrome 开发者工具中收到以下错误

Uncaught ReferenceError: searchRequests is not defined searchProcess.php:174 onclick.

当我单击 engine.php 生成的超链接时,我没有从 searchRequests 函数收到警报。我不确定问题是什么,我很感谢给出的任何建议。这是我的代码:

searchProcess.php

<?php
include '../include/engine.php';
?>

<html>
<head>
<script type="text/javascript" src="../jQuery.js"></script>
<script type="text/javascript">
$( document ).ready(function() {

    var instrID;
    var cat;

    $(window).load(function(){

    });

    var newheight = $(window).height();


    function searchRequests(instr)
    {

        alert("in searchResults");
        instrID = instr;
        alert(instrID);

    }

    });

</script>
</head>
<body>
<?php
    drawSearchResults($var1, $var2, $var3, $var3, $var4); 
?>
</body>
</html>

engine.php

<?php
function drawSearchResults($var1, $var2, $var3, $var4, $var5)
{
while($row = mysql_fetch_assoc($result))
{
    echo ("<tr>");
        echo ("<td id='InstrumentID'><a href='javascript:void(0);' onclick='searchRequests($row[InstrumentID])'>$row[InstrumentID]</a></td>");
    echo ("</tr>");
}
?>

最佳答案

问题是函数 searchRequests 不在 $(document).ready() 之外的范围内。将其移至 $(document).ready() 之外。

一般来说,您不应该将 JavaScript 嵌入到 html 中。好多了:

$('#InstrumentID a').click(someFunctionThatIsInScope);

您可以将该代码放入 $(document).ready() block 中。此外,您调用的函数将获取一个事件对象,您可以使用该对象从标记中获取可能需要的任何值。

关于php - Javascript 函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050192/

相关文章:

javascript - 通过 form.submit() 传递属性;

javascript - 广告不会在 ie 中居中,除非正文是文本对齐 :center

php - 加载 PHP 扩展模块失败

php - 如何从供应商包本身引导 laravel 5 服务提供者?

javascript - 删除 d3.js 中以前的路径并过渡到新数据

php - Xampp - MySql 关闭 - 不工作

javascript - 需要了解NodeJS中ReadWrite的流程

php - 将 PHP 表单连接到 MySQL 问题

php - pcntl_fork() 返回, fatal error : Call to undefined function pcntl_fork()

php - 组织编程竞赛 - 如何编译和执行