【问题标题】:Can't $_POST values from disabled Radio buttons不能从禁用的单选按钮 $_POST 值
【发布时间】:2012-07-24 09:57:14
【问题描述】:

我有两个页面,在第一页中我提交了包含单选按钮的表单。

从第二页开始,我尝试使用 $_POST 读取单选按钮的响应。

问题是当我点击提交时,第二页中的 $_POST 显示为 NULL。 但是当我没有禁用第一页中的单选按钮时,第二页的 $_POST 表单会正确读取单选按钮中的数据。

是否有任何解决方案可以让 $_POST 读取禁用的单选按钮的值?

当用户点击单选按钮时,我正在使用此 Javascript 代码禁用单选按钮:

function disableRadio(groupName){
        var radio=document.getElementsByName(groupName);
        for(c=0;c<radio.length;c++)
            radio[c].disabled=true;
}

这是两个页面中的每个页面的简单代码。

第1页:

echo '<form action="Page2.php" method="post">',
     "<input type='radio' name='Question1' value='1' onClick='disableRadio(Question1)' />",
     "<input type='radio' name='Question1' value='2' onClick='disableRadio(Question1)' />",
     "<input type='radio' name='Question1' value='3' onClick='disableRadio(Question1)' />",
     "<div><input type='submit' value='Submit'></div>",
     "</form>";

第2页:

$response=$_POST['Question1'];
echo $response;

更新这个问题

使用 ReadOnly 属性时,组中的单选按钮仍可单击。所以,我决定禁用其他单选按钮。有没有更好的解决方案,因为我不希望用户觉得他能够改变答案。

【问题讨论】:

  • 创建隐藏的输入字段并设置它们的值以匹配单选按钮。

标签: php javascript


【解决方案1】:

禁用的输入不会提交它们的值。

如果这种行为适合您的情况,您可以将它们设置为 readonly

【讨论】:

    【解决方案2】:

    问:在我按下“关闭”按钮后,有什么方法可以让手机发出声音?

    A:不,请尝试点击“静音”:)

    “已禁用”(此输入已关闭)和“只读”(有值,但用户无法篡改)之间存在区别:

    '希望有帮助.. PSM

    【讨论】:

    • 如何在javascript中做到这一点?我试过这样但没有用:radio[c].readonly="readonly";
    • 使用 ReadOnly 属性时,组中的单选按钮仍然可以单击。所以,我决定禁用其他单选按钮。你有更好的解决方案吗,因为我不希望用户觉得他能够改变答案。
    【解决方案3】:

    您可以设置一个隐藏值以使用单选按钮的代理,并根据单选按钮的状态设置它,这样您仍然可以禁用单选按钮并始终拥有您想要的值。

    【讨论】:

      【解决方案4】:

      您应该在输入元素上使用readonly 而不是disabled

      【讨论】:

      • 如何在javascript中做到这一点?我试过这样但没有用:radio[c].readonly="readonly";
      • radio.readOnly = true 应该这样做。 (大写的 O,如果你有选择的话,我也强烈建议使用 jQuery)
      【解决方案5】:

      使用&lt;input type="hidden"&gt; 可能会更好,如果您确实需要用户查看他们之前提交的内容,那么您可以添加一组没有名称的禁用单选按钮来显示它。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      相关资源
      最近更新 更多