这是我的代码
<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) == 100 ? "checked" : "")?>/>100
<input type="radio" name="rdNumber" value="1000" checked="checked"/>1000
它不按要求工作.. 当提交表单时(并且在任何错误情况下)它返回到默认选中的单选按钮,即值 = 1000 用户必须再次单击值 = 100,而目标是,如果用户选择了 100 个单选按钮,他将保留 100,而不是移动到默认选中(即值 = 1000)
我哪里错了? 同样的 if else 版本又是什么?
最佳答案
从这里删除 isset
:
改变:
<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
关于刷新表单时用户选择单选按钮的 php 停留(由于错误检查或其他),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15196155/