单选按钮只渲染单选按钮而不是文本。

6
 <input type="radio" id="rdoHalfDay" name="rdoHalfDay" value="Half Day" />

上面的代码只渲染了单选按钮而没有文本。
我正在使用Firefox 9.0.1,在IE中也存在同样的问题。
<%=Html.RadioButton("rdoTest","Cricket") %>;

如果我在Asp.net MVC 3中使用上述代码,则会生成下面的HTML,但不显示文本。
<input id="rdot" type="radio" value="Cricket" name="rdot">

你正在使用单选按钮而不是文本。 - harry
1
我需要带有文本(值)的单选按钮,例如上面的示例中的“半天”。 - Ali
4个回答

10

按定义正常工作。 要指定单选按钮文本,请将其作为文本内容包含在内,最好使用 label 标记(尽管这不是正式要求):

<input type="radio" id="rdoHalfDay" name="rdoHalfDay" value="Half Day" />
<label for="rdoHalfDay">Half day</label>
请注意,input type="radio"元素的value属性值只指定表单提交的数据,它不会出现在可见内容中(除非表单处理软件编写为向用户“回显”它),并且可以方便地在您的软件中处理任何内容。

5

如果单选按钮在提交时被选中,value 属性内的文本将作为值发送到服务器。该文本不会实际显示在页面上。如果您在服务器上使用相应文本的压缩版本作为值,这将非常有用,这些值将代表完整文本,如下所示:

<label><input type="radio" name="rdo" value="HalfDay" /> Half Day</label>

1

单选按钮不是这样工作的。文本在标签外指定。当提交表单时,传回服务器的是值。请参考以下示例:

<form name="myform" action="http://www.mydomain.com/myformhandler.cgi" method="POST">
  <div align="center"><br>
    <input type="radio" name="group1" value="Milk"> Milk<br>
    <input type="radio" name="group1" value="Butter" checked> Butter<br>
    <input type="radio" name="group1" value="Cheese"> Cheese
    <hr>
    <input type="radio" name="group2" value="Water"> Water<br>
    <input type="radio" name="group2" value="Beer"> Beer<br>
    <input type="radio" name="group2" value="Wine" checked> Wine<br>
  </div>
</form>

请参见:http://www.echoecho.com/htmlforms10.htm


0
<label for="lDIV1">
<input id="lDIV1" type="radio" name='rbtab' value='DIV1' onclick="javascript:custom()" 
/>Create
Email:</label>
<label for="lDIV2">
<input id="lDIV2" type="radio" name='rbtab' checked="checked"  value='DIV2' 
onclick="javascript:defaul()" />Default
Email:</label>
<div id='Content' style="display: block">

关于单选按钮

<form>
<input type="radio" name="sex" value="male" /> Male<br />
<input type="radio" name="sex" value="female" /> Female
</form>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接