2012-06-21 49 views
4

我有一个相对简单的Web应用程序,它可以作为我正在修改的自助服务终端。我最初的目标只是让它工作,但现在我正试图实现更多优雅的方法。Kiosk Web应用程序jQuery实现

基本背景信息:

  • 内容 - 所有内容通过PHP来自数据库 - 无论是响应AJAX调用或直接呼应与PHP的内容(大部分内容)。这部分我已经修改过,虽然还不完善,但是非常有效/灵活。
  • 服务亭的功能 - 我们的客户使用服务亭进行一项或多项调查。一旦表格通过验证,数据就会被提交。如果这是最后一次调查,则会话结束。如果有更多的调查,他们继续进行调查。

的问题: 我有一个混乱,控制亭的行为jQuery的事件处理程序的。基本行为包括表示基于所述售货亭处于什么状态/隐藏元素都已经在DOM的。

  • 切换指令
  • 切换注销屏幕(端调查初期)
  • 去调查
  • 空闲计时器,显示自动注销的警告下/上一问题(同样只显示/隐藏不报警)
  • 表现错过了问题,如果没有足够的回答
  • 提交的如果它通过简单的验证

我添加的调查越多,我遇到的更特殊的情况和jQuery似乎得到的混乱。只包含单选按钮的调查很容易(尽管代码仍然不够优雅),但我希望能够将具有问题管道(依赖于其他问题的问题)和文本回复作为特殊情况处理采取更模块化/ OOP的方法来jQuery。

我认为...

  • 原型
  • jQuery UI的小部件厂
  • 写我自己的jQuery插件
  • 写我自己的JavaScript类
  • Knockout.js
  • 继续当前的jQuery方法,只需清理它即可

在此先感谢您提供您的专业知识,并根据我的项目背景向正确的方向指引我。

+1

对我来说,这尖叫Backbone.js。当您想要连接“照顾自己”的视图并且只是担心模型时,Backbone是最强大的。缺点是Backbone就像穿上了一套MVC手铐 - 你可能不得不彻底重组你的应用程序。 – buley

+0

感谢您的建议。我会检查这一点。 – MaxPowers

回答

0

Backbone.js将是一个很好的解决这个问题的方法。这种方法将通过...解决我的问题。

  • 从视图
  • 采取继承的优势分离的模式,我可以创建标准行为和子类的基类来实现某些调查内容
  • Backbone.js的很轻巧“的特殊行为与其他人一起玩“
+1

@Editor - 感谢您提供此解决方案。 – MaxPowers

+0

我已经取得了很好的进展,重写与骨干应用程序。我只是爱如何毫不费力地反映这些模型的更新。我的代码已经看起来更清晰了,而且更容易管理。我想我也更清楚地了解我的应用程序的功能以及如何扩展它,现在我已经将其分解为MVC风格。 – MaxPowers

相关问题