【问题标题】:How can I know which option is selected in an HTML form?我如何知道在 HTML 表单中选择了哪个选项?
【发布时间】:2012-09-07 13:14:52
【问题描述】:

我想要一个包含 HTML 和 PHP 的多步骤表单。 我的表单的第一步是一个选项,例如:

<input type="radio" name="service_type" value="plan1"> Plan 1<br />
<input type="radio" name="service_type" value="plan2"> Plan 2

现在,我的问题是:如何知道选择了哪个选项,以便为用户安排下一步选项?

例如:如果用户选择选项 1,下一步将是:“你选择了选项 1,告诉我谁是你的爸爸”。如果用户选择选项 2,下一步会说:“欢迎使用选项 2,告诉我你喜欢什么”等。

现在,我完全是 PHP/HTML 的初学者,对 javascript 一无所知。如果您要回答这个问题,我将非常感激,但请以易于理解的方式回答。

我已经找到this与我的案例相关,但是定制非常困难,而且验证过程是CSS3之前的。

[编辑:]

现在我想添加这样的文本类型输入:

<input type="text" name="fname" value="firstname">

这些人告诉我使用$_POST['fname'],但对于输入文本,'value' 属性将像默认标题一样显示在文本框内。我不想要这个。

现在你有什么建议?

【问题讨论】:

  • 为每个单选按钮使用不同的 id 并使用 javascript/JQuery 检查是否选中了一个选项
  • 你能告诉我选择第一个之后的下一步也会是一个单选按钮吗?
  • 感谢 Umair。我知道如何为这些选项中的任何一个添加 ID。这也太容易了吧?!但是第二部分是 usgin javascript/JQuery 是什么驱使我来到这个页面!
  • 不!下一步没有单选按钮。他们可能有一些组合框,但他们不会再改变路径。
  • 你想让下一步有点警觉吗?用户能否在下一步中回答问题以及如何回答?

标签: php html forms radio-button multi-step


【解决方案1】:

来自$_REQUEST的值:

$step = $_REQUEST['service_type']; // plan1 or plan2

【讨论】:

  • 我不知道 SO 有什么问题 :( 我不会弹出新问题,我必须刷新!而且我在工作.. 所以请注意我 :(
  • $step 中会保存什么?计划1还是计划2??这么简单?!
  • 是的,就这么简单。它将保存您选择的任何内容,plan1 或 plan2
  • 太棒了!我想使用 session_destroy() 并重定向到同一页面来重新启动应用程序。我希望没关系,对吧?!
  • 非常感谢您的快速解答!
【解决方案2】:

在您的 PHP 代码中,使用 $_GET(或 $_POST 或 `$_REQUEST - 获取 GET 或 POST 表单)返回值:

$serveiceType=$_REQUEST['service_type'];

由于这是一个单选按钮,因此只能发送一个值,并且发送的值很容易访问。

【讨论】:

  • @AminVanda 我最初将$_GET 打错为$GET,Mihai 在 3 微秒内为我更正了 :)
  • 大声笑!他是一个调试器! :D
【解决方案3】:

首先您的input 必须在form 标记中。现在您可以使用提交按钮提交表单(输入标签,type="submit")。 在 php 中,您可以使用 $_POST 或 $_GET 获得结果。

<form method="POST">
    <input type="radio" name="service_type" value="plan1"> Plan 1<br />
    <input type="radio" name="service_type" value="plan2"> Plan 2
    <input type="submit" />
</form>
<?php
    $value = $_POST['service_type'];
    echo $value;
?>

【讨论】:

  • 谢谢菲利普!我知道如何制作表格。我只是想要幕后的帮助。所以,你说我必须使用 $_POST 来获取用户选择的内容,但他们那里的人说它是 $_REQUEST。现在我越来越糊涂了!
  • 如果您使用 get 方法发送表单,您可以使用 $_GET,如果您使用 post 方法发送 from,您可以使用 $_POST。 $_REQUEST 同时包含这两种方法。在大多数情况下,使用 $_GET/$_POST 会更好,因为您知道如何发送表单
  • 谢谢,我要试一试!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 2019-04-04
  • 1970-01-01
  • 2010-10-10
相关资源
最近更新 更多