尽管导入并且在范围内,但未定义onkeypress函数

时间:2014-07-09 06:54:05

标签: php html

我似乎对此代码有疑问。

<td align = "right">Ingredients:</td> <td><textarea style="width: 300px" class="form-control" name="ingredients" rows="1" onkeypress='myFunction'></textarea></td>

我已经使用require_once导入了它,但是尽管我仔细检查了语法错误,但我无法找到它来查找函数。我得到Uncaught ReferenceError:未定义myFunction。我把它放在一块代码中。

<?php
//some code I wrote

function myFunction() {
echo "hello";
}
?>

我在谷歌浏览器中尝试了这一点,无论我尝试什么,我似乎都无法解决这个问题。关于我做错了什么想法?

注意:我理解到目前为止的反应,但我有点困惑,为什么这个还没有在另一个.php文件中工作,它们都是.php顺便说一句,我正确地解雇了......

$recipe = Recipe::getRecipes( $dbh, true );

使用包含...

的其他.php文件
    class Recipe 
    {           
        function copyFromRow( $row ) { 
         // some code
        } 


        static function getRecipes( $dbh, $withnumbers=false ) { 
            //some if else statement
            return $result; 
        } 

        //more irrelevant code
     }

现在我不确定我是否在这里和第一个例子之间做了不同的事情,所以有人可以澄清一下吗?

1 个答案:

答案 0 :(得分:1)

您不能在任何DOM Events上直接调用PHP函数。

您应该学会使用Ajax$.Post

BTW,您可以使用

执行此操作

<强> HTML

<td align = "right">Ingredients:</td> <td><textarea style="width: 300px" class="form-control" name="ingredients" rows="1" onkeypress='myFunction()'></textarea></td>

<强>的Ajax

<script>
function myFunction()
{
    $.ajax({
       type: "POST",
       url: 'yourphpfile.php',
       data: {data:data}, // optional if wish to pass data
       success: function(response){
          console.log(response);
       }
    });
}
<script>

OR

<强> $。交

<script>
function myFunction()
{
     $.post( "yourphpfile.php", function( response ) {
       console.log(response);
     });
}
</script>

<强> yourphpfile.php

 <?php
    if($_POST)
    {
       var_dump($_POST);
    }
  ?>

享受!