0

这是在一个HTML文件中。在该else部分中,我想调用页面show-form();中的函数example.php。另外,完整的语法是$.post();什么?

<script type="text/javascript">
    function nis(id){
        $(id).show("slow").delay(4000).hide("slow");
    }

    $(function() {
        setAutoComplete("searchField", "results", "autocomplete.php?part=");

        $('form[name=frm]').submit(function(event) {
            if($("#searchField").val().length===0)
            {
                nis('.divmsg');
                return false;
            }
            else {
                $.post("example.php", function() {});
            }
        });
    });
</script>

这是在example.php.. 中,用于为您在 searchField 中编写的任何单词提供声明。

<?php
    function show_form()
    {
        echo'<div  class="divmsg"> Wronge input :: </div>';
        echo'  <form name="frm" method="post" action="index.php?act=sm"> ';
        echo'<p class="textplz">Tybe a Definition you want ?!';
        echo'<p id="auto" >';
        echo'Word : <input id="searchField" type="text" name="searchField" />    <input  id="for-submitbutton" type="submit" name="sbm" value="Definition" /> ';
        echo' </p> </p>  </form>';
    }

    function submited()
    {
        require("dbconn.inc");
        $word=$_POST['searchField'];
        $sql="select * from definition where word like '".$word."'";

        $result=mysql_query($sql,$con);
        if(@mysql_num_rows($result)!=0)
        {
            while($rows=mysql_fetch_array($result))
            {
             $vie=$rows["declation"];
            }
            echo('
                <br />
                <br />
                <form name="frm" method="post" action="index.php?act=sm"> <p id="auto" >
                    Word : <input id="searchField" type="text" name="searchField" /> <input id="for-submitbutton" type="submit" name="sbm" value="Definition" />
                </p> </form> ');
            echo('<div class="answer">');
            print $word ;
            echo('<br><p id="dev">');
            print $vie;
            echo ("</h4><br></p></div>");
        }
    }
 ?>
4

4 回答 4

3

首先,破折号在 PHP 标识符中是无效的。您的函数称为“show_form”,请在其余文本中引用它。

其次,PHP 脚本在服务器上运行,而 Javascript(和 jQuery)在客户端上运行。您的客户端只收到一个 HTML 文档,这意味着 PHP 代码已经被处理和执行。

因此,您不可能像调用 Javascript 函数一样从 jQuery 调用 PHP 代码。

你可以做什么:

  • 使用 POST 或 GET 请求在服务器上调用 PHP 脚本。您可以在 jQuery 在线文档中找到这些参数列表
  • 在您的 HTML 中发出 Javascript 代码,可能使用 PHP 代码生成,以便您稍后可以在客户端上调用它

我希望这回答了你的问题。

于 2012-10-05T11:58:29.383 回答
1

我猜是这样的:

$.post("example.php", { "act": "form" } );

但你也应该在 PHP 脚本中使用 $_POST 变量。

于 2012-10-05T11:58:59.250 回答
0
  1. 的完整语法$.post()是:

    $.post(url, data, callback, type);
    
  2. 在你的情况下:

    $.post("example.php", null,  function() {});
    

如果要发送一些参数,请使用{param1: "123", param2: "123}而不是null.

于 2012-10-05T11:59:55.647 回答
0

在 AJAX 调用中,您需要像这样处理结果:

$.ajax({
url: 'example.php',
...
success: function(data){
// process data
  }
})
于 2012-10-05T12:00:06.537 回答