因为我原来是用PB作c/s结构系统的,所以带着些C/S结构的遗留思想。
原来的想法:
操作流程是通过合同号取单据头信息,然后焦点转至商品代码列,输入商品代码,(回车后能带出此行的商品信息),焦点自动跳至配送数量,回车后计算进价总额和售价总额。接着焦点跳至下一行的商品代码栏继续操作。
发现的问题:
当输入商品代码后回车,窗口就自动提交了,而且是按”新建“提交的,后来才知道IE4后当焦点在INPUT时,回车就能将FORM提交。提交时系统好像自动认了最前面的TYPE=”submit“的按钮提交的。然后我尝试将所有TYPE="submit"修改成TYPE="button",但是发现回车再也不提交了,在button的onclick事件中加入document.f03010.submit();也不提交了。(其中f03010是FORM的name)。但是有不少人对我说FORM的提交和TYPE="submit"没什么关系,我不懂。
另一个问题是提交后取单行商品信息非常慢,一个20行的单据会让操作员给骂死(这个是C/S的后遗症)。
修改如下:
FORM中还是采用了多个TYPE="submit"的按钮用以提交,同时添加一个计算的按钮,现在是让操作员一次性输入所有商品代码和配送数量。点击计算,从后台取得所有商品信息并计算总额。这样速度会快好多。
遗留问题:
因为当焦点在INPUT时,回车还是会提交,在输入商品代码或配送数量时难免按到回车键。
其中有些字段是只读的,但是它还是接收焦点,只是不能输入。我该怎么控制焦点从商品代码直接跳转到配送数量(采用TAB键)。我在ACTION中是直接取了界面的信息,所以界面是html:text字段的,bean:write在ACTION中取不到值。
各位高手给我看看问题怎么样可以解决?特别是前期的设计和修改是不是有问题?怎样做比较好?
如果有必要我可以把JSP和ACTION都贴出来。