未选中时需要设置无线电组的默认值

时间:2012-10-29 10:26:53

标签: javascript html forms post

在我的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。那可能吗?非常感谢任何帮助。

4 个答案:

答案 0 :(得分:6)

您可以这样做:

<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不同。

答案 1 :(得分: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>

并将其用作您需要的null。

答案 2 :(得分:1)

可以使用.php中的if / else语句来完成:

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

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

答案 3 :(得分: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;

希望它能解决你的问题。