我目前正在开发一款可替代某些办公室旧系统的网络应用。 (在FoxPro中很老)
我目前的任务是开发一个非常类似桌面的快速用户界面,就像尝试根本不使用鼠标一样,这样他们就可以非常快速地捕获数据,而且他们几乎不用看就能做到。
他们期待的事情如下:
使用箭头键进行导航,当填写当前字段时跳转到下一个字段,在一个字段按Enter键,然后出现一个包含数据的列表供他们选择(使用箭头键再次导航),等等
我可以通过javascript轻松完成此操作,但因为我被要求帮助完成这个项目,因为完成它的时间很短,
哪些库,控件或类似工具可以帮助我快速完成此操作?
答案 0 :(得分:4)
使用JQuery ......忘记跨浏览器DOM处理。 JQuery在VS.Net中有很大的支持。
答案 1 :(得分:3)
为了帮助您节省一些时间,这里是“按下输入时的下一个字段”的代码:(您需要JQuery tho)
$.fn.focusNextInputField = function() {
return this.each(function() {
var fields = $(this).parents('form:eq(0),body').find('button,input,textarea,select');
var index = fields.index(this);
if (index > -1 && (index + 1) < fields.length) {
this.blur();
fields.eq(index + 1).focus();
}
return false;
});
};
$("button,input,textarea,select").keydown(function(event) {
switch (event.keyCode) {
case 13: $(this).focusNextInputField();
break;
}
});
答案 2 :(得分:1)
您尚未提及所需的浏览器支持类型。这个网络应用程序听起来像需要捕获和处理相当多的键盘事件。
不同浏览器以不同方式处理事件。所以,你需要牢记这一点。
是的,推出自己的密钥处理Javascript相对简单,但使用像JQuery,Prototype或Dojo这样的免费公共框架肯定会更好。而不是建议一个在另一个上面(SO社区似乎对JQuery有一个特殊的软角,请相信我!),我会说,检查它们并自行决定。
您可能还想查看预构建(商业或其他)自定义控件,它们提供您需要的应用程序功能。例如,如果您需要电子表格类型的数据输入界面,那么Web上就可以使用许多控件。
答案 3 :(得分:1)
你熟悉ExtJS(http://extjs.com/)吗?
我认为这是一个真正的Web应用程序框架。 JQuery更像是一个具有许多(非常好的)函数的“库”。
答案 4 :(得分:0)
我推荐Dojo - 我意识到它不像JQuery那样受欢迎(Google上的热门数量:dojo 13百万,jquery 13.4) - 但它的架构和设计更好!
答案 5 :(得分:0)
许多旧的FoxPro应用程序都针对用户生产力进行了优化。我认为长期以来我没有看到“用户生产力”被用作软件工具评估参数。尤其不适用于基于浏览器的应用程序。
首先,你需要一些方法来衡量。每分钟击键次数和每分钟处理的表格曾经是非常常见的方法。但是将AJAX投入其中将会减慢速度 - 在这一点上,javascript并不是一种高速执行语言。即使是镀铬。
你最好的赌注可能是flex和silverlight。
答案 6 :(得分:0)
教他们如何使用tab和shift-tab返回。输入用于“输入”信息,而不是“下一步”。只是真正了解表单中的选项卡索引,它应该为您的用户提供良好的流程
为他们带来一个接口,将他们带入现在,而不是陪审团操纵一个系统,该系统将所有那些可怕的约定从DOS和基于文本的系统转变为基于Web的系统。