批量数据录入, 辅助输入数据, 以及相关检测(JScript 客户端)(原创)
2004-09-26 20:52
513 查看
批量数据录入, 辅助输入数据, 以及相关检测(JScript 客户端)(原创)
作者: 萧月痕
相关链接:批量数据录入, 辅助输入数据, 以及相关检测(ASP 服务器端)(原创)
作者: 萧月痕
相关链接:批量数据录入, 辅助输入数据, 以及相关检测(ASP 服务器端)(原创)
<script language="JScript"> <!-- //回车代替TAB, 当遇到按钮时, 则执行按钮动作 function keyDown() { if(event.keyCode == 13) { //检测样式名, 确实是否为按钮 if(event.srcElement.className == "fbtclass") return true; event.keyCode = 9; return true; } } document.onkeydown = keyDown; var myform; //批量记录总数, 便于检测用户输入 var intTotal = <%= intBillTotal%>; //初始化网页表单项目 function init(form) { myform = form; formsum(); } //用IE网页对话框(模式)辅助输入数据 function openWin(intID) { var arrValue = window.showModalDialog("<%= GBL__STR_SYS_ROOT_PATH%>WInfo/Product_wList.asp?at=1&1"); if ((arrValue != null) && (arrValue.length == 6)) { var id = isNaN(parseInt(arrValue[0])) ? 0 : parseInt(arrValue[0]); if (id == 0) return; //一项产品只能输一行 for(var i = 1; i <= intTotal; i++) { if ((isNaN(parseInt(myform["fih_pid_" + i].value)) ? 0 : parseInt(myform["fih_pid_" + i].value)) == id) { alert("已输入此项产品数据, 若需更改数据, 请在表单中直接修改!"); return; } } try { myform["fih_pid_" + intID].value = arrValue[0]; myform["fih_pmodel_" + intID].value = arrValue[1]; myform["fih_pvalue_" + intID].value = arrValue[2]; myform["fih_pspec_" + intID].value = arrValue[3]; myform["fih_punit_" + intID].value = arrValue[4]; myform["fih_pprice_" + intID].value = filternum(arrValue[5], 2); myform["fih_ptotal_" + intID].value = "0.00"; myform["fih_pcost_" + intID].value = "0.00"; } catch(e) { alert("表单填充出错!"); } }else { clearrow(intID) } } function enterDown() { if(event.keyCode == 13) return((event.srcElement.tagName == "TEXTAREA") ? true : false); } //重置表单 function formreset(form) { var flag = confirm("确实要撤消所有操作并返回初始值吗?"); if (flag){ form.reset(); } } //提交表单 function formsubmit(form) { if (formsubmitcheck() && confirm("确定提交数据吗?")){ form.submit(); } } //检测数据 function formsubmitcheck() { var flag = false; var id = 0; for(var i = 1; i <= intTotal; i++) { id = isNaN(parseInt(myform["fih_pid_" + i].value)) ? 0 : parseInt(myform["fih_pid_" + i].value); if (id > 0) { flag = true; break; } } if (!flag) alert("空数据不能提交!"); return flag; } //合计 function formsum() { var totalSum = 0; for(var i = 1; i <= intTotal; i++) { if (isNaN(parseInt(myform["fih_pid_" + i].value)) ? 0 : parseInt(myform["fih_pid_" + i].value) == 0) continue; totalSum += isNaN(parseFloat(myform["fih_pcost_" + i].value)) ? 0 : parseFloat(myform["fih_pcost_" + i].value); } myform.fit_totalprice.value = filternum(totalSum, 2); window.setTimeout( "formsum()", 200); } //计算行金额总数 function sumrow(id) { var intID = isNaN(parseInt(myform["fih_pid_" + id].value)) ? 0 : parseInt(myform["fih_pid_" + id].value); if (intID <= 0) { clearrow(id) return; } var num = filternum(myform["fih_ptotal_" + id].value, 2); var price = filternum(myform["fih_pprice_" + id].value, 2); if (price < 0) { alert("单价不能为负数!"); price = Math.abs(price); myform["fih_pprice_" + id].value = price; } var spec = eval(myform["fih_pspec_" + id].value); var spec = isNaN(parseFloat(spec)) ? 1 : filternum(spec, 2); var cost = num * price * spec; myform["fih_ptotal_" + id].value = num; myform["fih_pprice_" + id].value = price; myform["fih_pcost_" + id].value = filternum(cost, 2); } //清空某行数据 function clearrow(id) { myform["fih_pid_" + id].value = 0; myform["fih_pmodel_" + id].value = ""; myform["fih_pvalue_" + id].value = ""; myform["fih_pspec_" + id].value = ""; myform["fih_punit_" + id].value = ""; myform["fih_pprice_" + id].value = ""; myform["fih_ptotal_" + id].value = ""; myform["fih_pcost_" + id].value = ""; } //格式化数字 function filternum(num, k) { var num = isNaN(parseFloat(num)) ? 0 : parseFloat(num); try{ return num.toFixed(k); } catch(e) { alert("脚本引擎不支持此操作, 请升级您的浏览为IE5.5以上!"); return 0; } } //检测VBS日期格式 function isVbDate(str) { //最小年份 var miny = 2000; //最大年份 var maxy = 2005; var reg = /^(/d{4})(-|//|/.)(/d{1,2})/2(/d{1,2})$/; result = str.match(reg); if(result == null) return false; var y, m, d; //获得用户输入之年份 y = result[1]; //获得用户输入之月份 m = parseInt(result[3]); //获得用户输入之日 d = parseInt(result[4]); if ((y > maxy) || (y < miny)) { alert("年份不能超出( " + miny + " - " + maxy + " )范围!"); return false; } if ((m < 1) || (m > 12) || (d < 1) || (d > 31)) return false; if (((m == 4) || (m == 6) || (m == 9) || (m == 11)) && (d > 30)) return false; if((y % 4) == 0) { if ((m == 2) && (d > 29)) return false; }else { if ((m == 2) && (d > 28)) return false; } return true; } //检测VBS日期格式 function checkVbDate(input) { if (input.value == "") return; if (!isVbDate(input.value)) { alert("日期格式不正确, 请重新输入"); input.focus(); input.select(); } } //用IE网页对话框(模式)辅助输入客户数据 function BrowseCostmer() { var arrValue = window.showModalDialog("<%= GBL__STR_SYS_ROOT_PATH%>WInfo/Costmer_wList.asp"); if ((arrValue != null) && (arrValue.length == 2)) { var id = isNaN(parseInt(arrValue[0])) ? 0 : parseInt(arrValue[0]); var Costmer = arrValue[1]; myform.fit_CustID.value = id; myform.fit_CustName.value = Costmer; } } //--> </script>
相关文章推荐
- 批量数据录入, 辅助输入数据, 以及相关检测(ASP 服务器端)(原创)
- [原创]scp无需输入密码,批量拷贝数据的方法
- netlink监听网络变化代码(转载)+流程分析(原创+转载)+数据结构以及相关宏的解析(原创)
- windows客户端开发--文件以及文件夹相关操作(windows api)
- 检测MySQL PHP nginx是否安装成功 以及相关配置
- 原创 SqlParameter 事务 批量数据插入
- 批量数据的聚合以及groupby实现
- jsData 使用教程(四) 对输入数据进行验证(客户端验证)
- [原创]批量数据上传(access到sql server。sql server到sql server)
- 离群点检测与序列数据异常检测以及异常检测大杀器-iForest
- 一步一步教你如何做iOS推送客户端以及推送数据处理
- 基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式
- linux客户端复制运行批量命令时数据丢失
- windows客户端开发--文件以及文件夹相关操作(windows api)
- 【原创】将数据生成json文件下载以及json中文乱码和优化json文件格式的方法
- rsync实现客户端自动与服务器同步数据详细过程(原创)
- 在用UEditor往后台传数据写入数据库时,出现错误:从客户端(NewsContent="<p><img src="http://...")中检测到有潜在危险的 Request.。。。
- 数据窗口中的DATA属性以及批量复制数据
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
- UDP数据读写以及服务器客户端的通信