小米官方在线预定——对代码实现的分析
来源:互联网 发布:ddos攻击 僵尸网络 编辑:程序博客网 时间:2024/06/10 04:15
先来看下 我点击确认,效果
重点是 怎么会一直显示 验证码不正确啊。。。
代码下载
点击【确认】后台js实现的部分代码
从而看出,用了大量if等等。别的从技术角度我也不想评论什么,只是一种好奇,小米是怎么实现的,有没有我们要学习的东西。。。
具体【确认】后的代码 如下:
var submitData = function(){var username = $("#username"),tel = $("#tel"),email = $("#email"),authcode = $("#authcode"),accessory= $("#" + tz2A),versionValue = $('input[name=version]:checked').val(),miphone= $('input[id=productA]:checked').val(),box= $('input[id=productB]:checked').val(),miPhone,miBox;if (formBoxModifly === 0){if(username.val().length < 2) {username.focus();username.next().show();return;};if(!checkCn(username.val())) {username.focus();username.next().show();return;};if(!checkMail(email.val())) {email.focus();email.next().show();return;};if(!checkMobile(tel.val())) {tel.focus();tel.next().show();return;};};if(!versionValue && miphone != undefined) {$("#versionTip").show();return;};if(miphone == undefined && box == undefined) {alert('请至少选择一款产品预约');return;}if(miphone != undefined) {miPhone = 1;} else {miPhone = 0;}if(box != undefined) {miBox = 1;} else {miBox = 0;}$("#versionTip").hide();authcodeValue = '123456';var authcode = $("#authCode");if (authcode.val().length < 5){$('#authcodeTip').show();return;};authcodeValue = authcode.val();accessoryValue = accessory.prop("checked") ? 1 : 0;_gaq.push(['_trackEvent', '活动', '预约页', '提交']);$.ajax({type: 'POST',url: 'http://t.hd.xiaomi.com/?_a=20130419&_op=dobook&_v=1366873853',data: { _ia:1, _op:'dobook',_a:'20130419', _aff:'a7db33f', username:username.val(), mobile:tel.val(), email:email.val(), version:versionValue, accessory:accessoryValue,miphone:miPhone,box:miBox, authcode_m2s_3rd_and_box_7th:authcodeValue},success: function(d){if( (typeof d =='object') && d.info ) {if(d.info == '提交完成,请稍候') {location.href = 'http://t.hd.xiaomi.com/?_a=20130419&_op=waiting';} else {$('#authcodeTip').text(d.info).show();}return;}},error: function(d){$('#authcodeTip').text('提交失败,请重试').show();return;},beforeSend: function(){},dataType:'json'});},showMealSetIntro = function(str){$("#" + str).show();},formBoxMod = function(){var formBox = $("#formBox");formBox.removeClass("formBoxModifly");formBoxModifly = 0;};</script>
如果你想看整个的代码,右键——查看源文件 这个我相信大家都知道。。。
- 小米官方在线预定——对代码实现的分析
- 官方DFU固件更新软件实现对STM32的USB方式代码升级简易说明
- 对NandFlash编程实现的代码进行分析
- Android在线官方文档——中英文
- python 利用requests 实现小米网登陆 的代码分享
- 详细分析小米抢购软件的实现步骤
- 第55课: 在线广告点击流处理代码的分析和实现
- 对Android官方网络框架——volley的封装
- 关于小米的代码门
- QQ在线实现代码
- 在线航班预定服务: Google Flights的交互设计
- stm32f40x官方时钟代码分析
- 腾讯推出全球首个Javascript在线编程对战游戏——CodeTank{代码坦克}
- 大数据Spark“蘑菇云”行动第55课:在线广告点击流处理代码的分析和实现
- 静态代码分析 – 理解预定义规则【英文】
- 对webmagic总体构架的理解与代码分析——Spider篇
- 对webmagic总体构架的理解与代码分析——PageProcessor篇
- 用Servlet监听器实现对在线人数的统计
- Python模块学习 ---- thread 多线程处理
- Objective-C创建目录接口createDirectoryAtPath:withIntermediateDirectories:attributes:error:中参数attributes的设置
- scriptmanager控件使用
- 原创分析:iOS 中使用 Mobile Installation 安装 IPA(使用iTunes/AppStore一样的安装API)
- AS3实现经典算法(一) 斐波纳契数列
- 小米官方在线预定——对代码实现的分析
- 目前流行的22款网店系统
- 将cocos2d-x项目打包.apk移植到Android
- Tomcat负载均衡原理详解及配置
- c语言新建双循环链表/遍历
- 黑马程序员_面向对象(下)
- WinCE内存管理
- 手工完全删除redhat linux内核的方法
- spring入门(7)---装配Bean中构造参数的注入