javascript - AJAX 表单脚本未执行

标签 javascript php jquery html ajax

我想通过 AJAX 使用表单,所以我从 stackoverflow 上的另一篇文章中获得了这段代码片段。它没有用,所以我添加了一个警报来检查脚本是否被执行。事实并非如此,我想知道为什么。

<head>
    <script src='jquery.js'></script>
    <script>
    var request;

    $("#foo").submit(function(event){

        alert("Hallu");

        if (request) {
            request.abort();
        }

        var $form = $(this);

        var $inputs = $form.find("input, textarea");

        var serializedData = $form.serialize();

        $inputs.prop("disabled", true);

        request = $.ajax({
            url: "/action.php",
            type: "post",
            data: serializedData
        });

        request.done(function (response, textStatus, jqXHR){
            // Log a message to the console
            console.log("Hooray, it worked!");
        });

        request.fail(function (jqXHR, textStatus, errorThrown){
            // Log the error to the console
            console.error(
                "The following error occurred: "+
                textStatus, errorThrown
            );
        });

        request.always(function () {
            // Reenable the inputs
            $inputs.prop("disabled", false);
        });

        event.preventDefault();
    });


   </script>
</head>
<body>
    <form id="foo">
        <input type="text" id="name" name="name" />
        <textarea id="msg" name="msg"></textarea>
        <input type="submit" value="Senden" />
    </form>
</body>

最佳答案

当脚本运行时,#foo 不存在,所以没有什么可以绑定(bind)事件处理程序。

移动脚本使其出现在表单之后,或将其转换为函数并将其绑定(bind)为 readyload 事件处理程序。

关于javascript - AJAX 表单脚本未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346326/

相关文章:

javascript - js ( jquery ) 在初始化第二个函数之前将字符串中的变量名称传递给第二个函数

javascript - 如何查看数字是否为 "between"值?

javascript - D3 时间轴 - 为什么默认情况下刻度线似乎不可见?

Javascript - 对象的条件属性

php - 如何在PHP中获取针后的字符串?

php - Laravel 5.2 - 仅使用电子邮件登录

php - 仅当行不以注释分隔符开头时,正则表达式才匹配值

javascript - 检测输入变化并同时写入其他输入

javascript - 在 jQuery getJSON 之后加载 PaperScript

javascript - 结合 .slideUp 和 .fadeOut javascript