4

这是我的代码

<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,而不是移动到默认选中(即值 = 1000)

我哪里错了?另外,如果其他版本相同,那将是什么?

4

3 回答 3

2

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 
于 2013-03-04T07:01:28.890 回答
0

您的代码中有一些问题:

这是正确的代码:

<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 

我已经修改了,现在试试。

于 2013-03-04T07:00:54.710 回答
0

我认为应该是:

<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100 ? "checked=\"checked\"" : "")?>/>100

您正在将 isset 调用的结果与 100 进行比较,这可能不会产生所需的结果。

于 2013-03-04T07:01:55.220 回答