未定义的元素

未定义的元素

问题描述:

我想构建一个简单的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。

+0

您是否试图在$ .post函数内声明一个变量,数据通常在哪里? – adeneo 2013-02-24 21:05:35

你的元素在您的代码中没有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的用户名没有元素)