1

我有一个带有多个选择的下拉框的表单,我将对其进行设置,以便根据选择,表单中的字段会发生变化。

我目前想到了两种方法来做到这一点(请记住,我对 Web 开发相对较新):

  • 第一种方法是使用带有 JS 函数的 HTML 页面,该函数将根据部分显示值显示特定字段,a la: elem.style.display="inline"elem.style.display="none"
  • 第二种方法是有多个页面,并根据选择的项目使用JS进行重定向。

有首选方法吗?用户是否更喜欢一种特定的方法,哪种方法更有效?我相信第二个将来会更容易管理,但我想知道它的可用性和效率。

4

4 回答 4

1

如今,基于下拉框或其他元素更改页面的标准方法是让 javascript 隐藏/显示页面的某些部分,或者以其他方式修改页面以适应使用 DOM 方法。

有许多 javascript 工具包可以处理编写 javascript 代码的大部分杂乱细节,这些代码会做一些棘手的事情,比如更改页面,同时确保一切都在所有浏览器上运行。一定要检查一个。jQuery是最流行的工具包之一。

于 2012-04-15T03:48:53.437 回答
1

对于用户来说,使用第一种方法通常会更好,因为不需要等待页面加载。可能在某些时候和地方使用单独的页面会更好,但在大多数情况下,我会说在一个页面上完成所有操作会更好。

以下是一些优点和缺点的快速列表

第一种方法:
优点:
1. 没有额外的页面加载(但是如果您尝试加载太多,第一页可能会很慢)
2. 用户更容易保持流程的流程
3. 当页面会立即响应输入(我知道有些主观)
缺点:
1. 维护起来可能相当复杂
2. 随之而来的是更容易引入错误

第二种方法:
优点:
1. 开发简单
2. 向用户发出信号,您正在做的事情发生了变化(在某些情况下,切换页面会在用户心中产生逻辑中断。)
缺点:
1. 可能看起来有点过时(再次是主观的)
2.后端有一些维护,以确保所有内容都能正确安全地从一个页面传递到下一个页面

于 2012-04-15T03:49:49.833 回答
0

不完全确定我是否理解您想要实现的目标,但我所做的是在 PHP 中构建一个“控制器”类型的页面,它将从 JavaScript/jQuery 异步接收所有帖子。然后控制器页面将根据 post 变量的内容引出它需要的任何额外形式。

所以基本上 onclick 选择将被传递给控制器​​,然后控制器将返回要由 JavaScript 发布的新 HTML 表单。

希望这不会太令人困惑,但是如果您提交项目示例,布局可能会更容易一些。

于 2012-04-15T03:44:56.520 回答
0

第一个选项更好,因为它更快并且需要更少的 HTTP 请求。

于 2012-04-15T03:47:26.573 回答