输入内部标签firefox错误没有阻止

时间:2011-11-15 08:37:28

标签: html firefox radio-button

知道为什么firefox对这段代码行为如此奇怪? 它在IE和IE中完美运行铬。

<LEGEND>Basistaal </LEGEND>
<LABEL class=alg_kantoor_taal for=alg_kantoor_taal>
<INPUT id=alg_kantoor_taal value=NL type=radio name=alg_kantoor_taal .>
NL
</LABEL>

<LABEL class=alg_kantoor_taal for=alg_kantoor_taal>
<INPUT id=alg_kantoor_taal value=FR type=radio name=alg_kantoor_taal .>FR</LABEL>

我看到另一个问题,其中firefox表现得很奇怪,因为标签内部有一个块元素。这里情况不同。我想保留这个结构,因为我的CSS基于这个HTML ...猜猜我将不得不改变它以使它在FF工作?

编辑 - &GT;在这里摆弄:http://jsfiddle.net/ZXSKH/59/你可以在firefox中看到radiobuttons根本不能正常工作。

3 个答案:

答案 0 :(得分:1)

页面上的所有元素都应具有唯一的id。两个标签都引用第二个输入。您应该为每个input提供一个唯一的id,并更改for的{​​{1}}属性以引用新ID。或者,您可以删除labelid属性,它会按照您的预期运作。

答案 1 :(得分:1)

我会为您省去麻烦并为您修复HTML:

<LEGEND>Basistaal</LEGEND>
<INPUT id="alg_kantoor_taal-nl" value="NL" type="radio" name="alg_kantoor_taal" />
<LABEL class="alg_kantoor_taal" for="alg_kantoor_taal">NL</LABEL>

<INPUT id="alg_kantoor_taal-fr" value="FR" type="radio" name="alg_kantoor_taal" />
<LABEL class="alg_kantoor_taal" for="alg_kantoor_taal">FR</LABEL>

使用开始和结束标记或单个标记构建元素。

双重标记:<tagname>content</tagname>

单个标记:<tagname />

此外,属性应该用引号括起来:<tagname attribute="value" />

请注意,元素ID应始终唯一。您不能拥有2个具有相同ID的元素。

事实上,这应该可以解决你的大部分问题。但是,为了上帝的爱,请首先学习如何正确使用HTML

答案 2 :(得分:0)

input标签移出标签。

<LEGEND>Basistaal</LEGEND>
<INPUT id="alg_kantoor_taal1" value="NL" type="radio" name="alg_kantoor_taal" />
<LABEL class="alg_kantoor_taal" for="alg_kantoor_taal1">NL</LABEL>

<INPUT id="alg_kantoor_taal2" value="FR" type="radio" name="alg_kantoor_taal" />
<LABEL class="alg_kantoor_taal" for="alg_kantoor_taal2">FR</LABEL>

http://jsfiddle.net/ZXSKH/61/