Django的jinja2語法遇到jquery問題: defaultaddress is not defined

話不多說;

完整頁面代碼如下:

 

<html>
 <head> 
  <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>

      

 </head>   
 <body>
   {% extends 'base_user_center.html' %} 






   {% block right_content %} 
  <div class="right_content clearfix">
    templates/user_center_site.html 
   <h3 class="common_title2">新增地址</h3> 
   <div class="site_con"> 
    <form method="post">
      {% csrf_token %} 
     <div class="form_group"> 
      <label>收件人:</label> 
      <input type="text" name="receiver" /> 
     </div> 
     <div class="form_group form_group2"> 
      <label>詳細地址:</label> 
      <textarea class="site_area" name="addr"></textarea> 
     </div> 
     <div class="form_group"> 
      <label>郵編:</label> 
      <input type="text" name="zip_code" /> 
     </div> 
     <div class="form_group"> 
      <label>手機:</label> 
      <input type="text" name="phone" /> 
     </div> 
     <input type="submit" name="" value="提交" class="info_submit" /> 
    </form> 
   </div> 
   <div class="site_con"> 
    <dl> 

     <font size="3" color="black">我的地址列表:</font> 
     <table style="float:left;margin-top:10px;margin-right:500px;" border="1" cellspacing="0" cellpadding="0" width="900"> 
      <!-- <table style="TABLE-LAYOUT: fixed" border="1" cellspacing="0" cellpadding="0" width="200"> --> 
      <tbody> 

        <script charset="utf-8" src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"></script>
        <script type="text/javascript" >
       defaultaddress=function (addr_id) {
        $.ajax({
        type:"post",
        dataType:"text",
        data:{
              "id":addr_id,
              "csrfmiddlewaretoken": '{{ csrf_token }}'
            },
        url:'http://127.0.0.1:8000/user/defaultaddress',//目標地址
        success:function(data){console.log("發送請求成功");}

        })
        
        }

      </script>




        <tr> 
        <td>收件人</td> 
        <td>地址</td> 
        <td>聯繫方式</td> 
        <td>郵編</td> 
        <td>操作</td> 
        <td>默認的收貨地址是?</td> 
       </tr> 

       {% for addr in address %} 
       <tr> 
        <td>{{ addr.receiver }}</td> 
        <td>{{ addr.addr }}</td> 
        <td>{{ addr.phone }}</td> 
        <td>{{ addr.zip_code }}</td> 
        <td>編輯|刪除</td> 
        <!-- <td>{{ addr.is_default }}</td>  --> 
        {% if addr.is_default %} 
        <td>當前默認收貨地址</td> {% else %} 
        <!--      <td><button type="button" οnclick="setdefaultaddress()">設爲默認</button></td> --> 
        <td> 
<!--          <input  name="ra" value="設置爲默認地址" οnclick="test(this.value)"/> 
        <a href="#" value="設置爲默認地址" οnclick='showTable(this)'>123</a>  -->
        
        <input name="註冊1" type="button" id="btn1" title="登註冊" value="設置爲默認地址" οnclick="defaultaddress('{{addr.id}}')">
        </td> 
        {% endif %} 
       </tr> 
       {% endfor %} 


      </tbody> 
    </table>
    </dl> 
   </div> 
   <!-- <a href="{% url 'user:address' %}" class="edit_site">編輯收貨地址</a>  --> 
  </div> {% endblock %} 



 </body>
</html>

這裏的<script></script>如果在<body></body>裏面,<tbody></tbody>就會導致undefined

另外下面兩句不能缺:

        <script charset="utf-8" src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"></script>
        <script type="text/javascript" >

如果缺了也會導致undefined以及ajax undefined.

所以總的來說:需要檢查的點還是挺多的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章