下面的问题是:

我的页面显示一组项。每个项目具有关联复选框(这是一种形式的一部分)。用户可以检查任何这些复选框,然后按“删除”按钮。在同一个页面也有一个“上传”按钮,将上传项目的Excel工作表。 此刻,我的表单动作sumbits地说:“xyzAction”和我有两个不同的处理程序(类似于Struts的Action) - 一个用于存储删除和其他上传的商店。

有人告诉我,要做到这一点的最好办法是通过做这些一个依赖于JavaScript: 1))上上传按下开关形式的行动和删除按钮 - 通过调用不同的动作有。 2)使用一个隐藏的变量“行为”将其设置为删除/上传,并提交一个表单。服务器端操作将采取识别行为,并转发到相应的动作的护理。

方法(1) - 似乎非常不雅给我。与表单操作播放似乎没有必要。 方法(2) - 显然不会工作,如果你的JavaScript被关闭,是不是很优雅要么

必须有这样做的第三条路?这会让我幸福吗?

有帮助吗?

解决方案

您需要获得正确的HTML第一。

您有两个不同的动作,所以你应该有两种形式 - 一个很好的经验法则是每个窗体应该只有一个提交按钮。这是HTML的最佳实践,并确保该网页作品,未经JS或任何其他诡计。

一旦你的页面这样工作,使用JS操作DOM产生你所需要的UI。这是通过使用JS到behvour添加到UI和为不显眼的JS的最佳做法。

(如果你真的想混为一谈你的行为在一个单一的形式,改变与JS形式的作用是最好的行动路线。但是考虑一下,如果用户检查复选框会发生什么,然后改变了主意,上传文件离开复选框选中,你应该小心,这不应该删除任何东西。)

其他提示

这听起来像你可能需要两种不同的形式,为两个不同的动作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top