繁体   English   中英

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

[英]Need to set default value of radio group when not checked

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

你可以这样做:

<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

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

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

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

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

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

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

如果没有选择单选按钮,则使用javascript返回null ,在“submit”上单击

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;

希望它能解决你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM