2011-12-14 116 views
0

我创建了一个人们可以填写的jQuery表单。完成后,他们可以单击两个按钮之一将表单发布到PHP文件。 PHP文件处理表单中的数据并将其放入数据库中。数据库然后有一些触发器,并输出数据。我应该使用两个脚本还是一个?那么`wordwrap()`怎么样?

我想知道的是,如果我应该提交到相同的PHP文件,而不管他们按哪个按钮,只是在PHP文件内使用条件语句?或者,如果我使用不同的PHP文件,它很酷:每个按钮一个?

我也在使用PHP wordwrap()函数和<br>作为参数。我想知道是否应该使用CSS来换行,因为它可能会导致在MySQL中处理数据表单时出现问题。

+2

如果按钮改变了请求目标,您可以让自己依赖Javascript。一个表单通常只能有一个action = URL。用一个简单的`if($ _ REQUEST [“button1”])`处理它确实是标准的。但我想这是标签jQuery这不是一个大问题? – mario 2011-12-14 05:08:04

+0

@Mario,你可以优雅地覆盖默认的表单按钮AND仍然安全地故障转移,如果jQuery(和一般的Javascript)不可用。它只需要一些计划和渐进增强技巧。 – bpeterson76 2011-12-14 05:46:16

回答

1

如果由两个按钮触发的逻辑在很大程度上是相似的,那么一个脚本是有意义的 - 你只需要特殊情况下的任何次要位在两者之间不同。

如果两条逻辑路径基本不同,那么使用两个独立的脚本可能更有意义。这个选择由你。

至于wordwrap,一般你应该一直存储数据的“原始”格式,并且只有在进行显示检索时才进行这种处理。如果数据将以多种输出格式使用,尤其如此:纯文本,html,pdf,excel等......每个都有自己的文字包装规则/要求,并强制您的数据以html样式的方式存储在处理其他目标时,您只需撤消所有这些工作。

1

六,其中一半,其他方法。我个人逐渐增强了我的表单,将Ajax提交用于处理所有表单提交的“AjaxDispatcher”,但这完全是首选。

使用PHP,请考虑最糟糕的情况 - 如果有人通过或数据库失败获取了一些不好的信息,我该如何告诉他们这个问题?这就是为什么我使用Ajax方法,通过内置的返回方法来轻松通知。它也可以做到服务器端,以避免ajax,它只是不那么快,或者漂亮。

肯定不要忘记表单预处理,这通过jQuery变得更容易inline validation它使关于表单问题的更多用户友好的反馈,并且不会“花费”在流程中的php命中。它不是服务器端验证的替代品,而是一个很好的附加接触。

我会质疑需要两个按钮。我为在线应用程序做了UI开发,最近一个网站“口授”我们为相对类似的路径做了两个按钮,因为营销类型无法理解路径的相似程度。它变成了一个巨大的混乱,在整个过程中出现了多种不同的“路径”,这些过程只是将网站用户的生活日光混淆在一起。不用担心,它会导致必须编写一个包含14种不同情况的测试例程(不要问!)根据您的情况,您可以从隐藏字段,答案组合或其他方法中绘制,以获得只有一个简单的输入,这在用户的宏伟计划中更加用户友好。它也使您更容易决定如何处理数据。

如果有疑问,请记住,UI的艺术只是使用户感觉不熟悉的情况,尽管以前从未出现过。现在,您最近用两种不同的方法填写了多少表单并列?

我不会亲自缠绕textarea。如果用户开始调整您的textareas的大小,可能会产生一些意想不到的结果,就像现在大多数浏览器允许的那样。考虑到它只是标记,HTML实际上处理比较优雅的包装。

相关问题