博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
即时数据模块设计 版本V2
阅读量:6297 次
发布时间:2019-06-22

本文共 2010 字,大约阅读时间需要 6 分钟。

版本 V2
 
 
 
实现基准:点击提交之后,能够提取相应数据,拼装成json格式,提交到服务器。
 
 
 
如图所示:
 
 
 
 
 
 
 
 
 
美国男子男子篮球队:40+20=60
 
 
 
立陶宛男子篮球队:40+10=50
 
 
 
拼装的json数据:
 
 
 
 
 
 
开始着手代码:
 
 
 
 
function changeToJson(){
 
 
 
 
 
 
var listSize = 2;
 
 
 
 
 
 
//定义名单长度 这个可以由系统注入
 
 
 
            var submitJson = "{";
 
 
 
 
 
 
for(i=1;i<listSize+1;i++){
 
 
 
 
 
 
   submitJson+= '"t_'+i+'_name":"'
 
 
 
                    +encodeURIComponent(jQuery("#t_"+i+"_name").html())+'",';
 
 
 
 
 
 
   //提交到服务器需要utf8编码
 
 
 
 
 
 
    input_len = jQuery("#tr_"+i).find("input").size();
 
 
 
                     //目前只发现这个方法获取长度
 
 
 
 
 
 
 
jQuery("#tr_"+i).find("input").each(function(input_i){
 
 
 
 
 
 
 
 
var this_input = jQuery(this);
 
 
 
 
 
 
 
 
var this_input_id = this_input.attr("id");
 
 
 
 
 
 
 
 
var this_input_val = this_input.val();
 
 
 
 
 
 
 
 
if(this_input_val!=""){
 
 
 
 
 
 
 
 
 
submitJson+='"'+this_input_id+'":"'+this_input_val+'"';
 
 
 
 
 
 
 
 
 
if(i==listSize && input_i==input_len-1){
 
 
 
 
 
 
 
 
 
}else{
 
 
 
 
 
 
 
 
 
 
submitJson+=',';
 
 
 
 
 
 
 
 
 
}
 
 
 
 
 
 
 
 
}
 
 
 
 
 
 
 
});
 
 
 
 
 
 
}
 
 
 
          
 
 
 
                submitJson+="}";
 
 
 
 
 
 
scoreInfo = submitJson;
 
 
 
 
 
 
alert("转换之前"+decodeURIComponent(submitJson));
 
 
 
                 submitJson = decodeURIComponent(submitJson)
 
 
 
 
 
 
//alert出来先解码
 
 
 
 
 
 
submitJson = JSON.parse(submitJson);
 
 
 
 
 
 
scoreInfo = JSON.parse(scoreInfo);
 
 
 
 
 
 
//利用json官方提供的json2.js中的函数parse将json格式字符串转为json对象
 
 
 
 
 
 
//var myObject = eval('(' + submitJson + ')'); 
 
 
 
 
 
 
//这种是eval转换方法,已经不建议使用,有安全性问题
 
 
 
                 alert("转换之后"+submitJson);
 
 
 
 
 
 
alert(typeof(submitJson));
 
 
 
 
 
 
alert("t_1_name-utf8:"+scoreInfo["t_1_name"]);
 
 
 
                 alert("t_1_name:"+submitJson["t_1_name"]);
 
 
}
 
 
 
或许代码还可以精简,我这里不再啰嗦,看弹窗效果:
 
 
 
点击提交按钮
 
 
 
第一次:alert("转换之前"+decodeURIComponent(submitJson));
 
 
 
 
 
 
第二次:alert("转换之后"+submitJson);
 
 
 
 
 
 
第三次:alert(typeof(submitJson));
 
 
 
 
 
 
第四次:alert("t_1_name-utf8:"+
scoreInfo
["t_1_name"]);
 
 
 
 
 
 
第五次: alert("t_1_name:"+submitJson["t_1_name"]);
 
 
 
 
 
 
第六次:
 
 
 
 
 
 
问你是否提交到服务器,我另外封装了:
 
 
 
function submitJsonData(){
 
 
 
 
   changeToJson();
 
 
 
 
    if(confirm("你确定录入完毕提交?")){
 
 
 
 
 if(rsc!="" && scoreInfo!=""){
 
 
 
    
 
 
jQuery.post("/admin/match_updateScore.action", {Action:"get","rsc":rsc,"scoreInfo":scoreInfo}, 
 
 
 
 
 
    
 
 
       function (data, textStatus){
 
 
 
    
 
 
 
 
//返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.
 
 
 
    
 
 
 
 
this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图
 
 
 
    
 
 
 
 
//alert(textStatus);//请求状态:success,error等等。当然这里捕捉不到error,因为error的时候根本不会运行该回调函数
 
 
 
 
 
 
 
 
if(data=="true"){ 
 
 
 
 
 
 
 
 
 
 
alert("更新成功");
 
 
 
 
 
 
 
 
 }else{
 
 
 
 
 
 
 
 
 
 
alert("更新失败");
 
 
 
 
 
 
 
 
 }
 
 
 
    
 
 
 
});
 
 
 
 
 
 
 
}else{
 
 
 
 
 
 
 
alert("数据不完整");
 
 
 
 
 
 
}
 
 
 
 
 
 
}
 本文转自jooben 51CTO博客,原文链接:http://blog.51cto.com/jooben/317689
 

转载地址:http://xqmta.baihongyu.com/

你可能感兴趣的文章
改造Dubbo,使其可以对接口方法进行注解配置
查看>>
MySQL默认配置文件位置发生改变后如何查找
查看>>
C#操作数据库
查看>>
我的友情链接
查看>>
配置ELK添加marvel插件
查看>>
Oracle 内存一 手动内存管理,自动内存管理
查看>>
我的友情链接
查看>>
Mysql学习笔记【原创】
查看>>
ssm配置多数据库支持
查看>>
JVM内存分配与垃圾回收浅析
查看>>
centOS下为PHP安装Xdebug
查看>>
配置tomcat支持ssl
查看>>
解决win2003下IIS中建立ASP网站出现500内部错误的方法(BUG)
查看>>
sfdisk和parted 使用说明
查看>>
linux常用操作命令
查看>>
select下拉框
查看>>
Oracle11.2.0.4 windows32+64bit path补丁21+11.2.0.4.160419 p22064588 p22839608
查看>>
ssh隧道 学习总结
查看>>
resin安装与配置
查看>>
每天一个linux命令-touch
查看>>