未定义的元素
问题描述:
我想构建一个简单的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。
答
你的元素在您的代码中没有ID为username
的元素。您有一个输入元素,它具有名称的username
。名称与id不同。
<input type="text" id="name" name="name" />
^^^^^^^^^^--missing
+0
或使用属性选择器$('input [name =“username”]') – Adi 2013-02-24 21:06:54
+0
您是对的。我没有用户名ID。我把它放进去,它工作得很好。谢谢 – 2013-02-24 21:10:15
答
你是不正确传递参数,把它作为一个对象,并使用正确的选择您要选择获得它的值(没有与ID的用户名没有元素)
您是否试图在$ .post函数内声明一个变量,数据通常在哪里? – adeneo 2013-02-24 21:05:35