【问题标题】:check if radio button is checked wihout using javascript or jquery检查是否在不使用 javascript 或 jquery 的情况下检查单选按钮
【发布时间】:2019-04-25 12:11:06
【问题描述】:

我有一个表单,其中我有两个单选按钮,名称 attr 都等于“状态”,我想检查用户是否检查了至少一个单选按钮,如果没有抛出错误消息,并设置一个标志变量为 1 以进行进一步检查。

我尝试通过这种方式检查

   if(!isset($_POST["status"]) || empty($_POST["status"])){echo "<p> you must choose missing/found</p>";$flag =1;}

但在用户按下提交按钮之前,我从一开始就收到错误消息。我知道是因为未设置单选按钮,但我如何在不使用 javascript 的情况下做到这一点?

【问题讨论】:

  • 收音机通常需要使用isset() 而不是(仅)empty()。您应该向我们展示包含收音机和表单方法的表单。
  • 检查$_SERVER['REQUEST_METHOD'] 以查看表单是否已发布之前检查单选按钮是否被选中。
  • @rickdenhaan 谢谢你,它成功了。你能给我简要解释一下 $_SERVER['REQUEST_METHOD'] 的工作原理吗?
  • $_SERVER['REQUEST_METHOD'] 包含用于访问页面的 HTTP 请求方法。在初次访问时,表单未提交,浏览器(很可能)发出了GET 请求。大多数(当然不是全部!)表单都是使用 POST 请求方法提交的,因此在尝试处理表单之前检查它通常可以解决这样的问题。

标签: php html button radio-button


【解决方案1】:

如果您提交带有属性type="submit"name="something" 的按钮元素的表单,则在请求中也会为此按钮设置一个变量。例如。 $_POST['something'].

因此,如果您检查是否设置了此变量,您就知道表单已提交。

if(isset($_POST['something'] && (!isset($_POST["status"]) || empty($_POST["status"]))){
    echo "<p> you must choose missing/found</p>";
    $flag =1;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-10
    • 2020-04-10
    • 2015-05-28
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多