【问题标题】:Need to set default value of radio group when not checked不勾选时需要设置radio group的默认值
【发布时间】:2012-10-18 15:48:31
【问题描述】:

在我的 html 表单中,我有一组单选按钮

<form action="receive.php" method="post">
    <input type="radio" name="rad" value="one" /> One <br />
    <input type="radio" name="rad" value="two" /> Two <br />
    <input type="radio" name="rad" value="three" /> Three <br />
    <input type="submit" value="submit" />
</form>

我有一个没有选中单选按钮的场景。在这种情况下,我的服务器端 php 接收输入值为false。我想要做的是将 false 更改为 nullundefined。那可能吗?非常感谢任何帮助。

【问题讨论】:

  • 你指的是哪种服务器端语言?

标签: javascript html forms post


【解决方案1】:

你可以这样做:

<form action="receive.php" method="post">
    <input type="radio" name="rad" value="one" /> One <br />
    <input type="radio" name="rad" value="two" /> Two <br />
    <input type="radio" name="rad" value="three" /> Three <br />
    <input type="hidden" name="rad" value="null" />
    <input type="submit" value="submit" />
</form>

现在,如果您没有选中任何单选按钮,您将得到“null”输入值,但请记住 "null" 与 PHP 中的 NULL 不同。

【讨论】:

    【解决方案2】:

    根据定义,单选按钮没有空值。

    但是,您可以添加一个单选按钮,例如:

    <form action="receive.php" method="post">
        <input type="radio" name="rad" value="one" /> One <br />
        <input type="radio" name="rad" value="two" /> Two <br />
        <input type="radio" name="rad" value="three" /> Three <br />
        <input type="radio" name="rad" value="null" /> null <br />
        <input type="submit" value="submit" />
    </form>
    

    并将其用作您需要的 null。

    【讨论】:

      【解决方案3】:

      这可以通过 .php 中的 if/else 语句来完成:

      $radioInput = false;
      if (!isset($_POST['rad'])){
          $radioInput = NULL;
      }
      else {
          $radioInput = $_POST['rad'];
      }
      

      http://php.net/manual/en/function.isset.php

      【讨论】:

        【解决方案4】:

        如果没有选择单选按钮,使用javascript返回null,在“提交”时点击

        var radioChecked=0;
        var radios=document.getElementsByName("rad");
        for(var i=0;i<radios.length;i++)
        { if(radios[i].checked){
           radioChecked=radioChecked+1;
          }  }
        if(radioChecked==0)
        return null;
        

        希望它能解决你的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-07
          • 1970-01-01
          • 2016-04-09
          • 1970-01-01
          • 2020-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多