Javascript 表单按钮未提交

标签 javascript ajax

我的主页中有以下代码

<html>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
function loadQueryResults() {
    $('#DisplayDiv').load('toaction.php');
    return false;
}
</script>
<body>
    <div id="page">
        <form id="QueryForm" method="post">
            <div id="SubmitDiv" style="background-color:black;">
            <input type = "text" name="song"></input>

            <button type="submit" form="QueryForm" onclick="return loadQueryResults();">Submit Query</button>

            </div>
        </form>
        <div id="DisplayDiv" style="background-color:red;">
        </div>
    </div>
</body>
</html>

以及我的 toaction.php 中的以下内容

<html>
<meta charset="utf-8">
<body>
    <div id="page" style="background-color:yellow;">
        <?php
            if( isset($_POST['song']) )
            {
            $song = $_POST['song'];
            echo $song;
            }
            else
            {
            echo "form didn't submit";
            }
        ?>
    </div>
</body>
</html>

这个想法是动态刷新 div 而无需重新加载页面。这是有效的,但是变量“song”没有被传递 - 所以 div 更新为“表单未提交”。

提前致谢,

最佳答案

您没有在 $.load() 调用中发送任何参数。此外,$.load() 发送 GET 请求,而不是 POST。试试这个:

function loadQueryResults() {
    $.post('toaction.php', $("#QueryForm").serialize(), function(response) {
        $('#DisplayDiv').html(response);
    });
    return false;
}

.serialize() 将从给定表单中的所有字段构造一个参数列表,类似于普通表单提交(一个区别是提交按钮不会包含在参数中) .

关于Javascript 表单按钮未提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706157/

相关文章:

javascript - 数组文字还是字符串分割?

javascript - 在这种情况下如何将正确的对象绑定(bind)到 this ?

JavaScript 首先将 Markdown 拆分为标题,然后拆分为句子

javascript - SWR 未返回任何数据

php - Yii:如何动态呈现部分 JavaScript 小部件

javascript - Google Place API - 请求的资源上不存在 'Access-Control-Allow-Origin' header 。因此不允许访问 Origin 'null'

php - 使用ajax提交表单后获取表单值(mysql_insert_id)

javascript - react - 选择导致页面向下滚动

javascript - AJAX 响应错误:net::ERR_EMPTY_RESPONSE

javascript - Ajax 循环调用