六,其中一半,其他方法。我个人逐渐增强了我的表单,将Ajax提交用于处理所有表单提交的“AjaxDispatcher”,但这完全是首选。
使用PHP,请考虑最糟糕的情况 - 如果有人通过或数据库失败获取了一些不好的信息,我该如何告诉他们这个问题?这就是为什么我使用Ajax方法,通过内置的返回方法来轻松通知。它也可以做到服务器端,以避免ajax,它只是不那么快,或者漂亮。
肯定不要忘记表单预处理,这通过jQuery变得更容易inline validation它使关于表单问题的更多用户友好的反馈,并且不会“花费”在流程中的php命中。它不是服务器端验证的替代品,而是一个很好的附加接触。
我会质疑需要两个按钮。我为在线应用程序做了UI开发,最近一个网站“口授”我们为相对类似的路径做了两个按钮,因为营销类型无法理解路径的相似程度。它变成了一个巨大的混乱,在整个过程中出现了多种不同的“路径”,这些过程只是将网站用户的生活日光混淆在一起。不用担心,它会导致必须编写一个包含14种不同情况的测试例程(不要问!)根据您的情况,您可以从隐藏字段,答案组合或其他方法中绘制,以获得只有一个简单的输入,这在用户的宏伟计划中更加用户友好。它也使您更容易决定如何处理数据。
如果有疑问,请记住,UI的艺术只是使用户感觉不熟悉的情况,尽管以前从未出现过。现在,您最近用两种不同的方法填写了多少表单并列?
我不会亲自缠绕textarea。如果用户开始调整您的textareas的大小,可能会产生一些意想不到的结果,就像现在大多数浏览器允许的那样。考虑到它只是标记,HTML实际上处理比较优雅的包装。
如果按钮改变了请求目标,您可以让自己依赖Javascript。一个表单通常只能有一个action = URL。用一个简单的`if($ _ REQUEST [“button1”])`处理它确实是标准的。但我想这是标签jQuery这不是一个大问题? – mario 2011-12-14 05:08:04
@Mario,你可以优雅地覆盖默认的表单按钮AND仍然安全地故障转移,如果jQuery(和一般的Javascript)不可用。它只需要一些计划和渐进增强技巧。 – bpeterson76 2011-12-14 05:46:16