这是我的代码
<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) == 100 ? "checked" : "")?>/>100
<input type="radio" name="rdNumber" value="1000" checked="checked"/>1000
它不按要求工作。当表单被提交(在任何错误的情况下),它返回到默认选中的单选按钮,即value = 1000,用户必须再次点击value = 100,而目标是,如果用户选择100单选按钮,他将保持100,而不是移动到默认选中的(即value = 1000)
我错在哪里?同样的if else版本是什么?
remove isset
from here:
改变:
<input type="radio" name="rdNumber" value="100" <?=(isset($_POST['rdNumber']) == 100 ? "checked" : "")?>/>100
<input type="radio" name="rdNumber" value="1000" checked="checked"/>1000
:
<input type="radio" name="rdNumber" value="100" <?php echo (isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100) ? "checked" : "";?>/>100
<input type="radio" name="rdNumber" value="1000" <?php echo (isset($_POST['rdNumber']))? (($_POST['rdNumber'] == 1000)? "checked":"" ): "checked"; ?>/>1000
我认为应该是:
<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100 ? "checked='"checked'"" : "")?>/>100
将isset调用的结果与100进行比较,可能不会产生期望的结果。
你的代码有问题:
下面是正确的代码:<input type="radio" name="rdNumber" value="100" <?php echo ((isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100) ? "checked" : "")?>/>100
<input type="radio" name="rdNumber" value="1000" <?php echo ((isset($_POST['rdNumber']) && $_POST['rdNumber'] == 1000) ? "checked" : "")?>//>1000
我已经修改过了,现在试试