2012-10-23 18 views
1

Django/Jquery新手:Python/Django:在表單提交時打印信息

試圖打印「感謝註冊!」表單提交後。

<script type="text/javascript"> 
    $(function() { 
     $("input[data-submit-item]").live("click", function() { 
     var message = "Thanks for signing up!"; 
     $.ajax({ 
      type: "POST", 
      url: "/add", 
      data: { 
      "text": $("#item").val(), 
      "csrfmiddlewaretoken": $('input[name~="csrfmiddlewaretoken"]').val() 
      }, 
      success: function(data) { 

      $("#item-list").append(data); 
      $("#confmessage").append(message); 
      $("#item").val(""); 
      } 
     }); 
     }); 
    }); 
    </script> 
</head> 
<body> 
    <div id = "main-container"> 

      <h1>FooBar Baz</h1> 
      <div id = 'signup-form'> 
      <form> 
       <input type="text" id="item" placeholder="Enter your email ..." /> 
       {% csrf_token %} 
       <div><input type="submit" value="Sign Up" data-submit-item="true" /></div> 
      </form> 
       </div> 
    <div id = "confmessage"></div> 
       <p><strong>front</strong></p> 
    <ul id="item-list"> 
    {% for item in line %} 
     <li>{{ item.text }}</li> 
    {% endfor %} 
    </ul> 
    <p><strong>back</strong></p> 
    <p><a href="/remove">remove</a></p> 
      </div> 
      </div> 
     </div> 
     </div> 
    </body> 
    </html> 

這只是打印出所有輸入的電子郵件列表,但不打印確認消息。這是本示例的變化:https://github.com/memcachier/memcachier_line/blob/master/templates/index.html

回答

1

你只需要:

$("#confmessage").text(message); 

而不是使用append

+0

謝謝!但仍然沒有打印出任何東西... :( – algorithmicCoder

+0

我猜它與JavaScript是異步?...有關如何確保呼叫運行的任何想法? – algorithmicCoder

+0

我認爲你的AJAX請求失敗(服務器錯誤,如果你清除你的cookies,但不刷新頁面以獲得頁面中的新令牌,那麼CSRF中可能有403個) – orokusaki