【问题标题】:Undefined element未定义元素
【发布时间】:2013-02-24 21:02:28
【问题描述】:

我正在尝试构建一个简单的 AJAX POST。它由用户名和密码组成。用户提交数据后,我的 html 中的用户名元素仍未定义。可能是什么问题呢。这是我的代码。

<html>

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
    <script>
        $(document).ready(function () {

            $("#form").bind('click', function (event) {

                alert(username = $("#username").val())
                event.preventDefault();

                $.post("/main3/",

                username = $("#username").val(),

                function (data) {

                    alert(data);

                    $('#content').html(data)

                })
                return false;
            });


        });
    </script>
</head>

<body>
    <form id="form">Name
        <input type="text" name="username" />
        </br>Age
        <input type="text" name="age" />
        </br>
        <input type="submit" />
    </form>
    <div id="content"></div>
</body>

我已包含整个页面以供参考。我的服务器是 Django。

【问题讨论】:

  • 您是否尝试在 $.post 函数中声明一个变量,数据通常会放在哪里?

标签: javascript html ajax django


【解决方案1】:

您的代码中没有 id 为 username 的元素。您有一个输入元素,其 NAMEusername。 name 与 id 不同。

<input type="text" id="name" name="name" />
                  ^^^^^^^^^^--missing

【讨论】:

  • 或使用属性选择器 $('input[name="username"]')
  • 你是对的。我没有用户名ID。我把它放进去,它工作得很好。谢谢
【解决方案2】:

您传递参数不正确,将其作为对象传递,并为您要选择的元素使用正确的选择器来获取其值(没有id为用户名的元素)

$.post("/main3/", {username: $("[name=username]").val()},

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 2019-11-22
    • 2015-03-28
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多