2009-12-08 47 views
0

无线框代码:PHP语法和结构的单选按钮,它的价值

<input 
    type = "radio" 
    name = "choice" 
    value = "A" />Apples /> 

<input 
    type = "radio" 
    name = "choice" 
    value = "B" />Oranges<br /> 

$choice=array("A"=>1.00, "B"=>0.80); 
echo $choice["A"]; // will give me the value of 1.00 
echo $choice["B"]; // will give me the value of 0.80 

鉴于上面的代码段,有什么不对无论是在HTML单选框中的阵列或选择的条款?

回答

3

不,看起来非常好。
除苹果文本后的随机/>,但我怀疑这是一个错字?

你可能也想考虑这个。可能你正在走向什么? :)

<?php 
$choices = array("A"=>1.00, "B"=>0.80); 
if(in_array($_REQUEST['choice'], array_keys($choices))) { 
    echo $choices[$_REQUEST['choice']]; 
} 
else { 
    echo "Invalid choice received!"; 
} 
?> 

这将是接收您的无线电选择的代码。它确保选择是有效的,然后打印它。

+0

单选按钮不会提交数组,除非您在名称中指定[],即使如此,我认为单选按钮也不会提交数组,因为单选按钮是单个选项输入。 – dfilkovi 2009-12-08 08:43:32

+1

@dfilkovi没有人使用单选按钮的值作为数组...如果您将多个按钮命名为相同,您将只能选择其中的一个,其中的值将传递给PHP。如果您将按钮的名称指定为数组*(通过添加[])*,则所选按钮的值将仅作为以该框命名的数组的第一个元素进行传递。 – Atli 2009-12-08 09:23:54

+0

令人惊叹的,启发性的,和高超的,谢谢你,Atli – Newb 2009-12-08 10:24:00

1

据我了解你的问题,PHP代码似乎是错的。你还没有在你的html代码中指定一个数组,使用[]

这是你在你做什么PHP代码回声电台的选择:

echo $_REQUEST['choice']; 

这将呼应选择单选按钮值A或B.

0

我不知道是什么你是否想要实现,但有几件事需要你的关注。

首先,检查<input>语法:http://www.w3schools.com/html/html_forms.asp

所以我会改变你的HTML代码:

<form ... > 
<input type="radio" name="choice" value="1.00" /> Apples 
<br /> 
<input type="radio" name="choice" value="0.80" /> Oranges 
</form> 

而在服务器端,后实际提交表单,只是看$_POST[ "choice" ]为您的期望值(1.00或0.80)。