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.

所以总的来说:需要检查的点还是挺多的。

发布了785 篇原创文章 · 获赞 357 · 访问量 166万+

猜你喜欢

转载自blog.csdn.net/appleyuchi/article/details/105020591
今日推荐