请帮忙看一下我加载shopoperation.js有问题吗?

来源:3-3 店铺类别区域信息的获取

韩熙Excellent

2020-03-10 18:23:33

http://img.mukewang.com/climg/5e676a2008467a2608040950.jpg

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>SUI Mobile Demo</title>
    <meta name="description" content="MSUI: Build mobile apps with simple HTML, CSS, and JS components.">
    <meta name="author" content="阿里巴巴国际UED前端">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1">
    <link rel="shortcut icon" href="/favicon.ico">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">

    <!-- Google Web Fonts -->

    <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm.min.css">
    <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css">

    <link rel="apple-touch-icon-precomposed" href="/assets/img/apple-touch-icon-114x114.png">
    <script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
    <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
    <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script>

    <script>
        //ga
    </script>
    <script>
        var _hmt = _hmt || [];
        (function () {
            var hm = document.createElement("script");
            hm.src = "//hm.baidu.com/hm.js?ba76f8230db5f616edc89ce066670710";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
        })();
    </script>
    <script type='text/javascript' src='../resources/js/common/common.js'
            charset='utf-8'></script>
    <script type='text/javascript'
            src='shopoperation.js' charset='utf-8'></script>
</head>
<body id="body1">
<div class="page-group">
    <div id="page-label-input" class="page">
        <header class="bar bar-nav">
            <a class="button button-link button-nav pull-left back" href="/demos/form">
                <span class="icon icon-left"></span>
                返回
            </a>
            <h1 class="title">商店信息</h1>
        </header>
        <div class="content">
            <div class="list-block">
                <ul>
                    <!-- 商铺名称 Text inputs -->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">商铺名称</div>
                                <div class="item-input">
                                    <input type="text" id="shop-name" placeholder="商铺名称">
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--商铺分类 下拉列表-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">商铺分类</div>
                                <div class="item-input">
                                    <select id="shop-category">
                                    </select>
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--区域分类 下拉列表-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">所属区域</div>
                                <div class="item-input">
                                    <select id="area">
                                    </select>
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--详细地址 text-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">联系电话</div>
                                <div class="item-input">
                                    <input type="text" id="shop-phone" placeholder="联系电话">
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--联系电话 text-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">详细地址</div>
                                <div class="item-input">
                                    <input type="text" id="shop-addr" placeholder="详细地址">
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--缩略图 上传控件-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">缩略图</div>
                                <div class="item-input">
                                    <input type="file" id="shop-img">
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--店铺简介 textarea-->
                    <li class="align-top">
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">店铺简介</div>
                                <div class="item-input">
                                    <textarea id="shop-desc" placeholder="店铺简介"></textarea>
                                </div>
                            </div>
                        </div>
                    </li>
                    <!--验证码 kaptcha-->
                    <li>
                        <div class="item-content">
                            <div class="item-inner">
                                <div class="item-title label">验证码</div>
                                <input type="text" id="j_captcha" placeholder="验证码">
                                <div class="item-input">
                                    <img id="captcha_img" alt="点击更换" title="点击更换" onclick="changeVerifyCode(this)"
                                    src="../Kaptcha">
                                </div>
                            </div>
                        </div>
                    </li>

                </ul>
            </div>
            <div class="content-block">
                <div class="row">
                    <div class="col-50">
                        <a href="#" class="button button-big button-fill button-danger">返回</a>
                    </div>
                    <div class="col-50">
                        <a href="#" class="button button-big button-fill button-success" id="submit">提交</a>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>
<script type='text/javascript'
        src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
<script type='text/javascript'
        src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
<script type='text/javascript'
        src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script>

</body>
</html>
/**
 *
 */
$(function() {
   alert("000");
   // 从URL里获取shopId参数的值
   var shopId = getQueryString('shopId');
   // 由于店铺注册和编辑使用的是同一个页面,
   // 该标识符用来标明本次是添加还是编辑操作
   var isEdit = shopId ? true : false;
   // 用于店铺注册时候的店铺类别以及区域列表的初始化的URL
   var initUrl = '/o2o/shopadmin/getshopinitinfo';
   // 注册店铺的URL
   var registerShopUrl = '/o2o/shopadmin/registershop';
   // 编辑店铺前需要获取店铺信息,这里为获取当前店铺信息的URL
   var shopInfoUrl = "/o2o/shopadmin/getshopbyid?shopId=" + shopId;
   // 编辑店铺信息的URL
   var editShopUrl = '/o2o/shopadmin/modifyshop';
   // 判断是编辑操作还是注册操作
   if (!isEdit) {
      getShopInitInfo();
   } else {
      getShopInfo(shopId);
   }
   // 通过店铺Id获取店铺信息
   function getShopInfo(shopId) {
      $.getJSON(shopInfoUrl, function(data) {
         if (data.success) {
            // 若访问成功,则依据后台传递过来的店铺信息为表单元素赋值
            var shop = data.shop;
            $('#shop-name').val(shop.shopName);
            $('#shop-addr').val(shop.shopAddr);
            $('#shop-phone').val(shop.phone);
            $('#shop-desc').val(shop.shopDesc);
            // 给店铺类别选定原先的店铺类别值
            var shopCategory = '<option data-id="'
               + shop.shopCategory.shopCategoryId + '" selected>'
               + shop.shopCategory.shopCategoryName + '</option>';
            var tempAreaHtml = '';
            // 初始化区域列表
            data.areaList.map(function(item, index) {
               tempAreaHtml += '<option data-id="' + item.areaId + '">'
                  + item.areaName + '</option>';
            });
            $('#shop-category').html(shopCategory);
            // 不允许选择店铺类别
            $('#shop-category').attr('disabled', 'disabled');
            $('#area').html(tempAreaHtml);
            // 给店铺选定原先的所属的区域
            $("#area option[data-id='" + shop.area.areaId + "']").attr(
               "selected", "selected");
         }
      });
   }
   // 取得所有二级店铺类别以及区域信息,并分别赋值进类别列表以及区域列表
   function getShopInitInfo() {
      $.getJSON(initUrl, function(data) {
         if (data.success) {
            var tempHtml = '';
            var tempAreaHtml = '';
            data.shopCategoryList.map(function(item, index) {
               tempHtml += '<option data-id="' + item.shopCategoryId
                  + '">' + item.shopCategoryName + '</option>';
            });
            data.areaList.map(function(item, index) {
               tempAreaHtml += '<option data-id="' + item.areaId + '">'
                  + item.areaName + '</option>';
            });
            $('#shop-category').html(tempHtml);
            $('#area').html(tempAreaHtml);
         }
      });
   }
   // 提交按钮的事件响应,分别对店铺注册和编辑操作做不同响应
   $('#submit').click(function() {
      // 创建shop对象
      var shop = {};
      if (isEdit) {
         // 若属于编辑,则给shopId赋值
         shop.shopId = shopId;
      }
      // 获取表单里的数据并填充进对应的店铺属性中
      shop.shopName = $('#shop-name').val();
      shop.shopAddr = $('#shop-addr').val();
      shop.phone = $('#shop-phone').val();
      shop.shopDesc = $('#shop-desc').val();
      // 选择选定好的店铺类别
      shop.shopCategory = {
         shopCategoryId : $('#shop-category').find('option').not(function() {
            return !this.selected;
         }).data('id')
      };
      // 选择选定好的区域信息
      shop.area = {
         areaId : $('#area').find('option').not(function() {
            return !this.selected;
         }).data('id')
      };
      // 获取上传的图片文件流
      var shopImg = $('#shop-img')[0].files[0];
      // 生成表单对象,用于接收参数并传递给后台
      var formData = new FormData();
      // 添加图片流进表单对象里
      formData.append('shopImg', shopImg);
      // 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里
      formData.append('shopStr', JSON.stringify(shop));
      // 获取表单里输入的验证码
      var verifyCodeActual = $('#j_captcha').val();
      if (!verifyCodeActual) {
         $.toast('请输入验证码!');
         return;
      }
      formData.append('verifyCodeActual', verifyCodeActual);
      // 将数据提交至后台处理相关操作
      $.ajax({
         url : (isEdit ? editShopUrl : registerShopUrl),
         type : 'POST',
         data : formData,
         contentType : false,
         processData : false,
         cache : false,
         success : function(data) {
            if (data.success) {
               $.toast('提交成功!');
               if (!isEdit) {
                  // 若为注册操作,成功后返回店铺列表页
                  window.location.href = "/o2o/shopadmin/shoplist";
               }
            } else {
               $.toast('提交失败!' + data.errMsg);
            }
            // 点击验证码图片的时候,注册码会改变
            $('#captcha_img').click();
         }
      });
   });

})


写回答

1回答

好帮手慕阿满

2020-03-10

同学你好,加载shopoperation.js的路径应该是../resources/js/shop/shopoperation.js,如:

http://img.mukewang.com/climg/5e677a020921b5b008820182.jpg

另外加载js的代码写在body的上边而不是head中。

另外如果同学有什么问题,建议将具体的问题描述一下。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 8263 问题

查看课程