Octopus系列之一些问题的汇总
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系列之一些问题的汇总的更多相关文章
- Octopus系列之如何让前台的js脚本变得灵活重用
Octopus系列如何让前台的js脚本变得灵活,重用 方式1:ajax方式 方式2:form表单方式 面向对象的脚本封装 jQuery的封装 做Web开发的少不了前台Ajax的使用, 返回true:f ...
- iView 实战系列教程(21课时)_汇总贴
iView 实战系列教程(21课时)_汇总贴 课程地址; https://segmentfault.com/ls/1650000016424063 iView 实战系列教程(21课时)_1.iView ...
- Octopus系列之代码备份
代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...
- Octopus系列之各个页面调用示例
调用首页产品 可选参数如下 New = 1, Hot = 2, Best = 3, Special = 4, Featured = 5, Other = 6 #foreach($item in $oc ...
- Octopus系列之模板快速开发手册
公共代码 html_header_1 <title>${sitename}-${seotitle}</title> <meta http-equiv="Cont ...
- Octopus系列之UploadValues异步上载
不多说了直接上代码 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "tex ...
- Octopus系列之开发中灵光点收集,先放到这里,后面会整理的
项目中引用的组件 1.System.Data.SQLite.dll 自行编译 SQLite-1.0.66.0-source 3.5的框架:F:\Code\开源项目\SQLite\1.0.66.0_x8 ...
- Octopus系列之SQLite3常用命令
导出脚本F:\B2CShop>sqlite3 B2CDB.db .dump > test.sql 导入脚本F:\B2CShop>sqlite3 B2CDB.db < B2C-S ...
- Octopus系列之开发过程各个技术点
自定义了页面周期 使用唯一的一个VelocityEngine全局的静态实例,优化了小泥鳅blog中每次请求都要创建VelocityEngine实例对象,减少了对象的开销 通过UA判断请求来自的设备,从 ...
随机推荐
- 让Placeholder在IE中燥起来
网上有好多关于这方面解决兼容性问题的文章,很多招式,学会这一招,让你轻松搞定Placeholder的兼容性,叫我好人,拿走,不谢.... placeholder属性是HTML5 中为input添加的. ...
- Ant执行Jmeter工程模版
<?xml version="1.0" encoding="GB2312"?><project name="ant-jmeter-t ...
- Python实现抓取页面上链接
方法一: # coding:utf-8 import re import requests # 获取网页内容 r = requests.get('http://www.163.com') data ...
- ubuntu15.04安装Chrome浏览器
首先到: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载最新的安装文件. 然后: sudo a ...
- python 练习(一)代码统计工具的实现
最近部门成立了一个python学习小组,旨在让大家在做项目中开始成长起来,于是老大就给布置了第一个小任务:代码统计工具,具体的需求如下: 需求: . 能够统计指定目录下C++程序的代码行数. . C+ ...
- 助手系列之连接mysql数据库
import MySQLdbdef main(): try: conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='pass',db='a ...
- Android MimeType的用法和几种类型
关于MIME TYPE描述 多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII ...
- php用mysql函数出错
很可能只是因为你忘了装mysql扩展 apt-get install php5-mysql
- Dynamics AX 2012 R2 IIS WebSite Unauthorized 401
今天,Reinhard部署好Aif Customer Service ,打开http://host:port/MicrosoftDynamicsAXAif60/,发现提示以下错误: 401 - Una ...
- Python之控制台输入密码的方法
一.raw_input()或input(): for python 2.x [root@master test]# /usr/local/python2.7/bin/python test.py Pl ...