jquery表单提交并在div中显示结果而不重新加载

时间:2011-05-25 15:12:57

标签: jquery html submit

美好的一天,

我在stackoverflow上找到了下面的一些代码,但是对于我的生活,我无法让它工作。我已经玩了一点代码,但我还在学习javascript(慢慢地)和jquery。

我想做的是使用搜索输入搜索div,但不是重新加载页面,我想在搜索下面显示div来显示结果,而不重新加载。输入搜索并单击“搜索”。这是我的代码,它什么都不做,我可以补充一下:

我的jquery版本是1.5.2并加载了include("javascript.php");

<?php
include("search_div.php");
include("javascript.php");
?>

<script type="text/javascript">

$("search").submit(function() {
    $.post($(this).attr("action"), $(this).serialize(), function(html) {
        $("#results").html(html);
    });
    return false; // prevent normal submit
});

</script>

<div id="content">

    <div id="searchdiv">
        <form type="submit" onsubmit="return false;" name="search" id="search" method="post">
        <table border="0" width="850" id="searchquery" cellpadding="0" cellspacing="0">
            <tr><td align="center">Search Query: <input type="text" size="50" id="q" name="q"></td></tr>
        </table>
        <table border="0" width="850" id="searchquerybuttons" cellpadding="0" cellspacing="0">
        <td align="right" width=840><input type="Submit" value="Search">
        </table>

        </form>
    </div> <!-- end search div -->

    <div id="results">
        <?php
        if (isset($_POST['q'])) {
            echo "<br><br>Query is: ".$_POST['q'];
            }
        ?>
    </div>  <!-- End results div -->

</div> <!-- End content div -->

<?php
include ("footer.php");
?>

</div> <!-- End of container div -->

1 个答案:

答案 0 :(得分:2)

您是否检查了输出的HTML源代码?

您是否检查了javascript错误控制台以查看错误是什么?

javascript.php的内容是什么?你不能在PHP中包含一个javascript库。你应该使用类似的东西:

<script type="text/javascript" src="scripts.js"></script>

另外,这个:

$("search").submit(function() {

应该是:

$("#search").submit(function() {

您应该从<form> HTML。

中删除onsubmit属性