1._WidgetCart.html中的数量更新函数和删除函数,转移到MyShoppingCart.html中出错

如果你使用的是jQuery的方式banding函数 比如change 和click,那么在MyShoppingCart中是无法 使用的,因为_WidgetCart是通过ajax方式加载过来的

而在_WidgetCart中并没有引入jQuery文件。MyShoppingCart文件加载完毕之后,_WidgetCart并没有加载完毕,所以

//alert($("select[name='qty']").length);
//这种方式不行 找不到select[name='qty']对象
//转移到这个里面不行的

如果采用封转成独立函数 就没有这个问题

2.javascript函数参数传递的问题

起初是因为 封装的代码出错了,后来才知道两个地方出错了

原因是服务端返回的 是大写的 “True”,而在Ajax函数中 判断是“true”小写 ,所以看到的函数没有执行

另一个原因是

var func = window.location.reload(true);

function func1() {
//经过测试是没有问题的,是我搞错了,代码执行的顺序和预期的一样
//这种东西在运行的时候 没有问题 但其实是一种错误的东西
//质疑的地方就在于,代码执行的先后顺序 和与其的不一样

//顺序 123 objDataProcessor 对象o 对象o定义
//objDataProcessor 对象o 对象o定义 123
//这两种方式定义不一样
//var func = window.location.reload(true);//重新发起一次请求 强制刷新
//alert(123);
window.location.reload();//重新发起一次请求 强制刷新
}

上述两种方式传递给OctRequestHelper.Common_getParamHTML_func_2(params1, func1, func2);  效果是不一样的 一定要注意

3.触发表单提交

有三种方式

submit按钮 image按钮 触发表单的submit函数

$(document).ready(function () {
$("select[name='qty']").change(function () {
$(this).parent().submit();
});
});

4.选择radio

                   #foreach($ship in $shiplist)
                    <tr class="tableformat">
                        <td class="nowrap" valign="top">
                            #if($ship.IsDefault==1)
                            <input type="radio" name="rad_shipping_method" id="" value="$!{ship.DShippingPrice}" data-code="$!{ship.ShippingCode}" checked="checked" />
                            #else
                            <input type="radio" name="rad_shipping_method" id="" value="$!{ship.DShippingPrice}" data-code="$!{ship.ShippingCode}" />
                            #end
                            <label for="sm_chinaups">${ship.ShippingName}</label>
                        </td>
                        <td valign="top">${ship.ShippingTime}days</td>
                        <td class="nowrap" valign="top">
                            <span class="chargeFee">
                                ${ship.DShippingPrice}
                            </span>
                        </td>
                    </tr>
                    #end

//var shipcode = $("input[name='rad_shipping_method'][checked]").attr("data-code");
//alert(shipcode);
//都可以
//alert($('input:radio:checked').attr("data-code"));
//alert($("input[type='radio']:checked").attr("data-code"));
//alert($("input[name='rad_shipping_method']:checked").attr("data-code"));

var shipcode = $("input[name='rad_shipping_method']:checked").attr("data-code");

5.var str = jQuery.param(params); 该函数和json问题

//var paramsobj =
//{
// myaction: "createorder",
// ShippingJson: ShippingJson,
// ShippingMethod: "ShippingMethod",
// PaymentMethod: "PaymentMethod",
// OrderRemark: "OrderRemark",
// OrderTotal: "OrderTotal"
//};

不想将参数 使用字符串的拼接,使用上面的方式  目前还没有通过

6.jQuery ajax get函数的使用

$(document).ready(function () {
//jQuery.get("/ShoppingCart.ashx", { viewcart: "miniCart" }, function (response, status, xhr) {
// $("#minicart").html(response.substring(0, response.lastIndexOf(">") + 1));
//}, "html");
LoadMinCart();
});

7.jQuery bind函数在 HTML 页面脚本中bind有效,在外置js中无效

8.使用自定义方式的自增ID有并发上的缺陷

在线程是导入多个地址时 就看出来了

Octopus系列之一些问题的汇总的更多相关文章

  1. Octopus系列之如何让前台的js脚本变得灵活重用

    Octopus系列如何让前台的js脚本变得灵活,重用 方式1:ajax方式 方式2:form表单方式 面向对象的脚本封装 jQuery的封装 做Web开发的少不了前台Ajax的使用, 返回true:f ...

  2. iView 实战系列教程(21课时)_汇总贴

    iView 实战系列教程(21课时)_汇总贴 课程地址; https://segmentfault.com/ls/1650000016424063 iView 实战系列教程(21课时)_1.iView ...

  3. Octopus系列之代码备份

    代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...

  4. Octopus系列之各个页面调用示例

    调用首页产品 可选参数如下 New = 1, Hot = 2, Best = 3, Special = 4, Featured = 5, Other = 6 #foreach($item in $oc ...

  5. Octopus系列之模板快速开发手册

    公共代码 html_header_1 <title>${sitename}-${seotitle}</title> <meta http-equiv="Cont ...

  6. Octopus系列之UploadValues异步上载

    不多说了直接上代码 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "tex ...

  7. Octopus系列之开发中灵光点收集,先放到这里,后面会整理的

    项目中引用的组件 1.System.Data.SQLite.dll 自行编译 SQLite-1.0.66.0-source 3.5的框架:F:\Code\开源项目\SQLite\1.0.66.0_x8 ...

  8. Octopus系列之SQLite3常用命令

    导出脚本F:\B2CShop>sqlite3 B2CDB.db .dump > test.sql 导入脚本F:\B2CShop>sqlite3 B2CDB.db < B2C-S ...

  9. Octopus系列之开发过程各个技术点

    自定义了页面周期 使用唯一的一个VelocityEngine全局的静态实例,优化了小泥鳅blog中每次请求都要创建VelocityEngine实例对象,减少了对象的开销 通过UA判断请求来自的设备,从 ...

随机推荐

  1. Chrome浏览器M53更新后超链接的dispatchEvent(evt)方法无法触发文件下载

    一个经典的js前台文件下载方法: var aLink = document.createElement('a'); var datatype="data:text/plain;charset ...

  2. ASP.NET 文件后缀名详解

    sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息. .csproj:项目文件,创建应用程序所需的引用.数据连接.文件夹和文件的信息. .aspx:Web 窗体页由两部分组 ...

  3. C++复现经典游戏——扫雷

    国庆小长假,当大家都去看人山人海的时候,我独自一人狂码代码.这两天想要实现的内容是Windows上的一个经典游戏——扫雷.相信90后和一些上班族对此并不陌生.然而,从win8开始,扫雷就不再是Wind ...

  4. innerHTML

    对于innerHTML 属性,几乎所有的元素都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML.(获取HTML当前标签的起始和结束里面的内容) 下面的例子返回 ...

  5. css布局之左侧固定右侧自适应布局

    参考代码如下: <form id="form1" style="height:100%; overflow:hidden;"> <div st ...

  6. 微信中修改title

    //需要jQuery.zepto版 function weixinTitle(){ var $body = $('body'); document.title = 'title'; // hack在微 ...

  7. sql join 优化

    项目查询列表,需要新关联一张表,于是就让组下小伙更改了下sql语句,当再次进入列表查询时查询时间一下子就翻倍.那小伙找了半天没找原因. 于是我就打开代码查看,关联的一张表数据非常多,用的left jo ...

  8. 机器学习实战-边学边读python代码(4)

    程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...

  9. 【Redis】Redis的基本安装及使用

    在Linux上安装Redis Redis的安装很简单.基本上是下载.解压.运行安装脚本.我用的Redis版本是3.2.1. [nicchagil@localhost app]$ wget -q htt ...

  10. Linux休眠,挂起,待机,关机的区别及相关命令

    休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程. 待机(挂起)是将当前处 ...