【问题标题】:Looking how to send multiple values with an input type=submit form查看如何使用输入类型 = 提交表单发送多个值
【发布时间】:2011-07-22 08:09:12
【问题描述】:

一些背景知识:我正在处理一个成员目录页面,该页面显示从 MySqL 数据库收集的成员信息。我有一个循环设置来显示每个成员的名称、id#、标题等 - 每行一个成员。显示的成员列表可以搜索和排序,因此长度为 0-20 个条目(每页最多 20 个)。

可以单击每个成员的名称,并显示与他们有关的更多信息。例如,如果用户单击“John Doe”的姓名,则会包含 John 的“个人信息”页面,拆分姓名列表(该信息直接包含在他的姓名列表之后,但在下一个成员列表之前 - ["John Doe, #333" / "Jane, #777"] 变成了 "John Doe, #333 / {John is agraduate from...}" / "Jane, #777"])。

我目前使用 PHP 填充我的页面,因此列表位于表单内部,并且它们的名称显示为输入,因此当用户单击它们时,将运行表单操作 ($self)。我将表单值设置为成员的名称,以便用户可以看到可读的名称。我将输入的名称设置为成员的 id# 并在我的循环中运行 if(isset($_POST['userID']) 以确定显示哪个成员的个人信息。因此,循环运行 MySQL 查询,显示名称,id... 对于每个成员,如果 curID# == $_POST['userID'],它还会显示相应的个人信息。

我的问题:我遇到的问题是我的列表在页面上相当长,尤其是显示了个人信息,所以我希望能够使用与其 ID 对应的锚点跳转到页面上的成员信息# .我已经设置了锚点,我可以手动导航到 memList.php#ID333,但我想在用户点击名称时导航到那里。

我可以将表单操作设置为导航到 $self#$curID,但 $curID 是成员名称输入的变量名称,而不是它的值。

什么不起作用:我尝试了隐藏字段,其 ID 作为值,curid 作为名称,但它们不起作用,因为我的循环为每个成员重置它(因此,$_POsT['curid']始终设置为最底部的成员,而不是用户单击的成员)。

我已经将名称作为 href 链接,但是我的搜索和排序 $POST 值没有重新发送(页面基本上从一开始就刷新了)。

我的问题,速记:有什么方法可以设置一个输入字段来显示成员的姓名,同时将他们的 ID 作为值发送?

【问题讨论】:

  • 什么样的输入?可能不适用于文本输入,但应该适用于选择元素。
  • 这个问题与 input type="submit" 相关

标签: php forms input submit


【解决方案1】:

如果我理解正确,这听起来最好使用 javascript 自动完成器来完成。如果您使用 jQuery,here 是指向他们的自动完成插件的链接。查看演示,看看这种方法是否适合您的需求。

【讨论】:

  • 我真的很想避免使用任何 Javascript。这将被许多可能没有启用 JS 的人使用,我想找到一种不启用的方法。
猜你喜欢
  • 2013-02-24
  • 2016-04-25
  • 2011-12-17
  • 2017-08-20
  • 2021-12-23
  • 2012-02-02
  • 2017-06-08
  • 2011-03-29
  • 2013-07-17
相关资源
最近更新 更多