可以't$_POST值来自禁用的单选按钮

Can't $_POST values from disabled Radio buttons

本文关键字:单选按钮 POST 可以      更新时间:2024-03-01

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

在第二页中,我尝试使用$_POST读取Radio按钮的响应。

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

有什么解决方案可以让$_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

Q:在我按下"关闭"按钮后,有没有办法让手机发出声音?

A: 不,试着点击"静音":)

"禁用"(此输入关闭)和"只读"(有值,但用户不能篡改)之间有区别:

  • http://www.w3schools.com/tags/att_input_readonly.asp

希望能有所帮助。。PSM

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

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

您最好使用<input type="hidden">,如果您真的需要用户查看他们之前提交的内容,那么您可以添加一组没有名称的禁用单选按钮来显示它。