2013-02-24 168 views
0

我想構建一個簡單的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

回答

1

你的元素在您的代碼中沒有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

1

你是不正確傳遞參數,把它作爲一個對象,並使用正確的選擇您要選擇獲得它的值(沒有與ID的用戶名沒有元素)