4

在我的 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 更改为nullor undefined。那可能吗?任何帮助是极大的赞赏。

4

4 回答 4

7

你可以这样做:

<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"NULLPHP 中的不同。

于 2012-10-29T10:36:11.367 回答
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="radio" name="rad" value="null" /> null <br />
    <input type="submit" value="submit" />
</form>

并将其用作您需要的空值。

于 2012-10-29T10:30:29.603 回答
1

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

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

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

于 2013-03-03T03:47:41.660 回答
0

如果没有选择单选按钮,请使用 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;

希望它能解决你的问题。

于 2012-10-29T10:52:48.180 回答