<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="js/jquery-1.5.2.js" type="text/javascript"></script>
<script type="text/javascript">
var companyID='${request.companyID}';
var tabObj = new TabObj("input_type2");

var enterFunc =function(e){
var key = e.which;
var index = -1;
var item = null;
if(key==13){
/* if (this.id == "ticketNo"){
if ($("#addAtOnce")[0].checked == true){
saveRecord();
}
} */
if (this.id == "fastAdd"){
saveRecord();
} else {
/* index= $input.index(this)+1; */
item = getNextInput(this);
}
/* if(index==4){
$("#butt").submit();
index=0;
}*/

} else if(key==38){
if (this.nodeName != "SELECT"){
item = getPrevInput(this);
}
/* index= $input.index(this) - 1; */
} else if(key==40){
if (this.nodeName != "SELECT"){
item = getNextInput(this);
}
/* index= $input.index(this) + 1; */
}

if (item != null){
e.preventDefault();

item.focus();
item.select();
/* $("input:eq("+index+")").focus();
$("input:eq("+index+")").select(); */
}
}

var dblClickFunc =function(){
var id = this.id;

if (id == "lbl_gTable"){
revertInputStyle("weight");
revertInputStyle("length");
revertInputStyle("width");
revertInputStyle("height");
} else{
var inputID = id.substr(4);

if (document.getElementById(inputID).disabled==true){
document.getElementById(inputID).disabled = false;
}else{
document.getElementById(inputID).disabled = true;
}
}

}

$(document).ready(function(){
/* $("#addAtOnce").click(function(){
disableInput($("#addAtOnce")[0].checked);
}); */

$("#ticketNo").focus(function(){

});

$("#ticketNo").blur(function(){
$.post("getPackageByTicketNo.action", {
ticketNo : $("#ticketNo").val()
}, function(data) {

var jsonObj = eval("(" + data + ")");
if (jsonObj.length == 1) {
/* load package information */
$("#customerNo").val(jsonObj[0].customerNo);
$("#senderAddress").val(jsonObj[0].senderAddress);
$("#receiverAddress").val(jsonObj[0].receiverAddress);
$("#count").val(jsonObj[0].count);
$("#remark").val(jsonObj[0].remark);

/* only use the first row to load data from KDBund */
refreshTable(1);

/* add information to row 1, and clear other rows */
refreshTable(jsonObj[0].count);
var cells = document.getElementById('gTable').rows[1].cells;
cells[1].innerHTML = "<td align='center'><input name='weight' value = " + jsonObj[0].weight + " style='width: 120px;' class='InputType'></td>";
cells[2].innerHTML = "<td align='center'><input name='length' value = " + jsonObj[0].length + " style='width: 120px;' class='InputType'></td>";
cells[3].innerHTML = "<td align='center'><input name='width' value = " + jsonObj[0].width + " style='width: 120px;' class='InputType'></td>";
cells[4].innerHTML = "<td align='center'><input name='height' value = " + jsonObj[0].height + " style='width: 120px;' class='InputType'></td>";
} else {
initContent();
}

getCustomerName();
});

});

$("#customerNo").blur(function(){
getCustomerName();
});

$("#count").blur(function(){
var number = parseInt($("#count").val());

refreshTable(number);
});

/* $("#fastAdd").click(function(){

saveRecord();
}); */

})

function saveRecord(){
var weights = getListData("weight");
var lengths = getListData("length");
var widths = getListData("width");
var heights = getListData("height");

$.post("fastAddPackage.action", {
ticketNo : $("#ticketNo").val(),
customerNo : $("#customerNo").val(),
senderAddress : $("#senderAddress").val(),
receiverAddress : $("#receiverAddress").val(),
expressType : $("#expressType").val(),
sort : $("#sort").val(),
payType : $("#payType").val(),
senderAddress : $("#senderAddress").val(),
count : $("#count").val(),
weights : weights,
lengths : lengths,
widths : widths,
heights : heights,
remark : $("#remark").val()
}, function(data) {
var jsonObj = eval("(" + data + ")");
if (jsonObj.result == "true") {
initContent();

$("#ticketNo").val("");
$("#ticketNo").focus();
}

});
}

$(function(){
$("#ticketNo").focus();

registerEnterFunc();

$label = $("label");
$label.bind("click",dblClickFunc);
});

function registerEnterFunc(){
/*$input = $("input");
$input.bind("keydown",enterFunc); */

$input = document.getElementsByClassName("InputType");
for (var i = 0; i < $input.length; i++){
$input.item(i).addEventListener("keydown",enterFunc);
}

}

function getNextInput(current){
var item = null;

var start = false;
for (var i = 0; i < $input.length; i++){
if (start == true){
if ($input.item(i).disabled == false){
item = $input.item(i);
break;
}
}else if ($input.item(i) == current){
start = true;
}
}

return item;
}

function getPrevInput(current){
var item = null;

var stop = false;
for (var i = 0; i < $input.length; i++){
if ($input.item(i) == current){
stop = true;
break;
} else if (stop == false){
if ($input.item(i).disabled == false){
item = $input.item(i);
}
}
}

return item;
}

function getCustomerName(){
$.post("getCustomerName.action", {
customerNo : $("#customerNo").val()
}, function(data) {
var jsonObj = eval("(" + data + ")");
document.getElementById("customerName").innerHTML = jsonObj.customerName;

});
}

function disableInput(flag){

if (flag == true){
$("#fastAddForm table").find("tr:gt(1)").find("td:eq(1)").children().attr("disabled","disabled");
$("#fastAddForm table").find("tr:last").find("td").children().attr("disabled","disabled");
$("#fastAddForm table").find("tr:eq(9)").find("td").find("table tr:eq(1)").find("td:gt(0)").children().attr("disabled","disabled");
} else {
$("#fastAddForm table").find("tr:gt(1)").find("td:eq(1)").children().attr("disabled",false);
$("#fastAddForm table").find("tr:last").find("td").children().attr("disabled", false);
$("#fastAddForm table").find("tr:eq(9)").find("td").find("table tr:eq(1)").find("td:gt(0)").children().attr("disabled",false);
}
}

function getListData(name){
var weights = document.getElementsByName(name);
var data = "";
for (var i = 0; i < weights.length; i++){
data = data + weights.item(i).value;

if (i < weights.length - 1){
data = data + ",";
}
}

return data;
}

function revertInputStyle(name){
var elements = document.getElementsByName(name);
var current = elements.item(0).disabled;
for (var i = 0; i < elements.length; i++){
if (current==true){
elements.item(i).disabled = false;
}else{
elements.item(i).disabled = true;
}
}
}

function refreshTable(number) {
var table = document.getElementById("gTable");

if (number > 0 && number < 100) {
/* remove the rows if the number is changed to small */
for (var i = table.rows.length - 1; i > number; i--) {
table.deleteRow(i);
}

/* add the rows if the number is changed to large */
for (var i = table.rows.length - 1; i < number; i++) {
var tr = "<tr>";
tr = tr + "<td>" + (i + 1) + "</td>";
tr = tr + "<td align='center'><input name='weight' value = '0' style='width: 120px;' class='InputType'></td>";
tr = tr + "<td align='center'><input name='length' value = '0' style='width: 120px;' class='InputType'></td>";
tr = tr + "<td align='center'><input name='width' value = '0' style='width: 120px;' class='InputType'></td>";
tr = tr + "<td align='center'><input name='height' value = '0' style='width: 120px;' class='InputType'></td>";
tr = tr + "</tr>";

$("#gTable").append(tr);

}

registerEnterFunc();
}
}

function initContent(){
/* initialize all text */
$("#count").val("1");
$("#remark").val("");

refreshTable(1);

/* var cells = document.getElementById('gTable').rows[1].cells;
cells[1].innerHTML = "<td align='center'><input name='weight' value = '1' style='width: 120px;'></td>";
cells[2].innerHTML = "<td align='center'><input name='length' value = '1' style='width: 120px;'></td>";
cells[3].innerHTML = "<td align='center'><input name='width' value = '1' style='width: 120px;'></td>";
cells[4].innerHTML = "<td align='center'><input name='height' value = '1' style='width: 120px;'></td>";
*/ }

function TabObj(className) {
this.ele = $("." + className);
this.next = next;
}

function next(unit) {
var tmp = this.ele;
$.each(this.ele, function(index, element) {
if (this == unit) {
if (tmp.length > index + 1)
tmp[index + 1].focus();
else
tmp[0].focus();
return false;
}
});

}

function changeEnter() {
if (event.keyCode == 13) {
event.keyCode = 9;
}
};
</script>

<head>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>快速录入</title>
<style type="text/css">
.tdLabel{text-align:right;}

</style>
</head>
<body>
<form id="fastAddForm">
<table style="width: 700px;" class="table table-striped table-bordered table-hover"
border=1 align="center" cellpadding=0 cellspacing="1">
<tr bgcolor="#e1e1e1">
<td colspan="2" style="text-align: center;">快速录入<!-- <input type = "checkbox" id="addAtOnce" > 扫描单号立即录入 --></td>
</tr>
<tr>
<td>单号:</td>
<td><input name="ticketNo" id="ticketNo" class="InputType"></td>
</tr>
<div name = "context" onselectstart=" return false">
<tr>
<td><label id="lbl_customerNo">客户编号:</label></td>
<td><input name="customerNo" id="customerNo" class="InputType"> <span id = "customerName"></span> </td>
</tr>
<tr>
<td><label id="lbl_expressType">快递类别:</label></td>
<td> <select style="width: 150px; height: 35px;"
class="InputType" id="expressType" name="expressType" >
<option value="LDX日本线">LDX日本线</option>
<option value="LDX韩国线">LDX韩国线</option>
<option value="LDX国际快递">LDX国际快递</option>
<option value="LDX国内快递">LDX国内快递</option>
<option value="国内EMS">国内EMS</option>
</select></td>
</tr>
<tr>
<td><label id="lbl_sort">货物类型:</label></td>
<td> <select style="width: 150px; height: 35px;"
class="InputType" id="sort" name="sort">
<option value="0">文件</option>
<option value="1" selected="selected">包裹</option>
<option value="2">防水袋</option>
</select></td>
</tr>
<tr>
<td><label id="lbl_payType">付款方式:</label></td>
<td> <select style="width: 150px; height: 35px;"
class="InputType" id="payType" name="payType">
<option value="0">现付</option>
<option value="1">到付</option>
<option value="2" selected="selected">月结</option>
</select></td>
</tr>
<tr>
<td><label id="lbl_senderAddress">寄件人地址:</label></td>
<td><input name="senderAddress" id="senderAddress" class="InputType"></td>
</tr>
<tr>
<td><label id="lbl_receiverAddress">收件人地址:</label></td>
<td><input name="receiverAddress" id="receiverAddress" class="InputType"></td>
</tr>
<tr>
<td><label id="lbl_count">件数:</label></td>
<td><input name="count" id="count" value = "1" class="InputType"></td>
</tr>
<tr>
<td colspan="2"><label id="lbl_gTable">货物信息</label></td>
</tr>
<tr>
<td colspan="2">

<table id="gTable"
class="table table-striped table-bordered table-hover" style="table-layout:fixed;width: 700px;"
border=1 align="center" cellpadding="0" cellspacing="1">
<tr style="height:0;">
<th style="width: 100px;">序号</th>
<th style="width: 150px;">重量</th>
<th style="width: 150px;">体积:长</th>
<th style="width: 150px;">宽</th>
<th style="width: 150px;">高</th>
</tr>
<tr>
<td>1</td>
<td align="center"><input name="weight" value = "1" style="width: 120px;" class="InputType"></td>
<td align="center"><input name="length" value = "1" style="width: 120px;" class="InputType"></td>
<td align="center"><input name="width" value = "1" style="width: 120px;" class="InputType"></td>
<td align="center"><input name="height" value = "1" style="width: 120px;" class="InputType"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label id="lbl_remark">备注:</label></td>
<td><textarea name="remark" id="remark" style="width: 400px; height: 100px;" class="InputType"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input type="button" id = "fastAdd" value="确定" onclick="return saveRecord();" class="InputType"></td>
</tr>
</div>
</table>
</form>
</body>
</html>

回车键转tab键解决方案二的更多相关文章

  1. 回车键转tab键解决方案一

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  2. 使用回车键代替TAB键 需jquery1.4.2版本

    1 $(document).ready(function () { 2 $(':input:text:first').focus(); 3 $(':input:enabled').addClass(' ...

  3. 将回车键转tab键

    //功能:将回车键转tab键$(function () {$('input:text:first').focus();var $enter = $("input[type=text],but ...

  4. PB中用回车键实现tab键的功能

    先编辑控件的TabOrder顺序,然后在 global external functions 中定义一个API:Subroutine keybd_event(int bVk,int bScan,ulo ...

  5. 将回车键转换为Tab键

    实现效果: 知识运用: KeyEventArgs类的KeyValue属性 public int KeyValue {get;} //获取KeyDown或KeyUp事件的键盘值 SendKeys类的Se ...

  6. 回车键转tab键

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head ...

  7. C语言 统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> void main(){ , num=, blank=, ...

  8. CentOS 8 按tab键不能自动补全问题解决方案

    CentOS中按tab键不能自动补全问题解决办法 检查一下系统有没有安装bash-completion包 [root@Sonarqube ~]# rpm -lq bash-completion yum ...

  9. JQuery实现回车代替Tab键(按回车跳到下一栏)

    一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了.这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目. ...

随机推荐

  1. hadoop datanode启动失败

    问题导读: 1.Hadoop出现问题时,该如何入手查看问题?2.datanode无法启动,我们该怎么解决?3.如何动态加入DataNode或TaskTracker? 一.问题描述当我多次格式化文件系统 ...

  2. vue.js入门(3)——组件通信

    5.2 组件通信 尽管子组件可以用this.$parent访问它的父组件及其父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据.另外,在子组件中修改父组件的 ...

  3. 使用jquery的imagecropper插件做用户头像上传 兼容移动端

    在移动端开发的过程中,或许会遇到对图片裁剪的问题.当然遇到问题问题,不管你想什么方法都是要进行解决的,哪怕是丑点,难看点,都得去解决掉. 图片裁剪的jquery插件有很多,我也测试过很多,不过大多数都 ...

  4. PhoneGap中navigator.notification.confirm的用法详解

    navigator.notification.confirm('您确定要退出程序吗?', showConfirm, '退出程序', '确定,取消'); function showConfirm(but ...

  5. [CrunchBang]tint2默认设置

    #--------------------------------------------- # TINT2 CONFIG FILE #-------------------------------- ...

  6. 执行gem install linne时报错

    由于linner安装实际上是从 rubygems.org 获得的,而其被墙,所以,需要寻找国内的镜像进行安装: 第一种方法: gem sources --remove https://rubygems ...

  7. nodejs框架express实现登录

    目录: 访问视图 Post请求 Post请求 - body(1) Post请求 - body(2) Post登陆1 Post登陆2 页面访问控制1 页面访问控制2 访问视图 前面我们已经添加了视图模板 ...

  8. java.lang.OutOfMemoryError: PermGen space

    Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen ...

  9. 转 C# 装箱和拆箱[整理]

    1.      装箱和拆箱是一个抽象的概念 2.      装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型       利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的 ...

  10. SIP协议栈基础笔记

    //------------------SIP基础------------------------// SIP是基于UDP的协议 UA(user Agent)用户代理 UAC(client)发起SIP ...