单选按钮仅在提交时返回“on”
Posted
技术标签:
【中文标题】单选按钮仅在提交时返回“on”【英文标题】:Radio button only returns "on" when submitted 【发布时间】:2018-08-15 01:11:02 【问题描述】:我对 php 非常陌生,我正在尝试在字符串中显示选定单选按钮的值。但是我得到的只是“on”而不是与选择相关的值。任何帮助都会很棒!
<form action="Handle_form_PHP.php" method="post">
<div class= "row">
<div class ="col-25">
<label for="student">Student</label>
</div>
<div class ="col-75">
<input type="radio" name="student" value ="student">
</div>
</div>
<div class= "row">
<div class ="col-25">
<label for="student">Employee</label>
</div>
<div class ="col-75">
<input type="radio" name="student" value = "employee">
</div>
</div>
<div class="row">
<input type="submit" value="Submit">
</div>
</form>
这是我用来打印的 PHP:
// Create a shorthand for the form data:
$fname = $_REQUEST['firstname'];
$lname = $_REQUEST['lastname'];
$address = $_REQUEST['address'];
$state1 = $_REQUEST['state1'];
$state2 = $_REQUEST['state2'];
$student = $_POST['student'];
// Print the submitted information:
echo "<p>Thank you, <b> $student </b>, <b>$fname $lname</b>, for the filling out our survey:<br>
<p>We will Send you your report at: <i>$address</i>, <i>$state1</i><i>$state2</i>.</p>\n";
【问题讨论】:
你的表单方法是使用 GET 还是 POST,为什么你只对“学生”使用 $_POST? 这是 POST,老实说,我只是在使用教授给我们的内容,而她的代码在所有这些中都使用了 $_REQUEST。我正在搜索单选按钮可能是我的问题并阅读以使用 POST。但这并没有帮助 经过 30 分钟的搜索,我才弄明白。我把帖子而不是 POST ...... sigh 对不起! 【参考方案1】:如果您的$_POST['student']
超全局变量的值为“on”,则该问题与方法区分大小写无关。
单选按钮的默认值为“on”,除非您在单选按钮标记内提供value
属性。
让我证明给你看。转到 [crnge] https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_checkbox 然后将以下 sn-p 粘贴到左侧框中,然后运行,然后提交。
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php" method="get">
<input type="radio" name="student" checked> Student<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
这是使用get
的方法提交(注意小写的get
无关紧要。post
的行为方式相同)。看到学生无线电输入中没有value
,提交的值为on
。
如果您在无线电输入中写入value="Red42"
,您将不再收到on
;提交的值为Red42
。
【讨论】:
@Red42 解决了吗?【参考方案2】:说方法时使用 POST 不发布:
<form action="Handle_form_PHP.php" method="POST">
不是
<form action="Handle_form_PHP.php" method="post">
为了记录,这本书是不正确的,并且有“帖子”
【讨论】:
方法值区分大小写无关。还有一些你没有注意到的错误。以上是关于单选按钮仅在提交时返回“on”的主要内容,如果未能解决你的问题,请参考以下文章
如何启用/禁用提交按钮,仅在提供两个条件的情况下:检查输入单选和填充输入文本