快速Web UI开发

时间:2009-05-04 06:30:51

标签: asp.net javascript user-interface

我目前正在开发一款可替代某些办公室旧系统的网络应用。 (在FoxPro中很老)

我目前的任务是开发一个非常类似桌面的快速用户界面,就像尝试根本不使用鼠标一样,这样他们就可以非常快速地捕获数据,而且他们几乎不用看就能做到。

他们期待的事情如下:

使用箭头键进行导航,当填写当前字段时跳转到下一个字段,在一个字段按Enter键,然后出现一个包含数据的列表供他们选择(使用箭头键再次导航),等等

我可以通过javascript轻松完成此操作,但因为我被要求帮助完成这个项目,因为完成它的时间很短,

哪些库,控件或类似工具可以帮助我快速完成此操作?

7 个答案:

答案 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的系统。