Html 是否可以在<;标签>;领域
对于我正在进行的调查,我有一系列可选的“写入”值 这些基本上是一个单选按钮,在回答字段中有一个文本框——其想法是你可以切换按钮并在框中写入内容 我想做的是,每当用户点击文本字段时,切换单选按钮——这似乎是一个很有意义的用例 这样做:Html 是否可以在<;标签>;领域,html,textbox,input,label,Html,Textbox,Input,Label,对于我正在进行的调查,我有一系列可选的“写入”值 这些基本上是一个单选按钮,在回答字段中有一个文本框——其想法是你可以切换按钮并在框中写入内容 我想做的是,每当用户点击文本字段时,切换单选按钮——这似乎是一个很有意义的用例 这样做: <input type="radio" id="radiobutton"><label for="radiobutton">Other: <input type="text" id="radiobutton_other"><
<input type="radio" id="radiobutton"><label for="radiobutton">Other: <input type="text" id="radiobutton_other"></label>
其他:
在Chrome上运行良好(我猜,其他WebKit浏览器也是如此),但Firefox中存在奇怪的选择问题,所以我认为这是一种非标准的做法,我应该远离
有没有一种方法可以在不使用JavaScript的情况下复制此功能?我有一个onclick函数可以使用,但我们正试图使我们的网站对那些可能运行NoScript类型的东西的人有用。将输入放在标签中实际上有一个稍微不同的含义。它不会使输入本身成为一个标签,而是隐式地将标签与输入关联起来,就像它们被一个
/id
的链接一样
但是,只有当标签还没有覆盖该属性的for
属性时,才会发生这种情况(请参见:“当存在时,此属性的值必须与同一文档中某个其他控件的id属性的值相同。如果没有,则定义的标签与元素的内容相关联。”)。根据规范,不清楚当
的包含和都存在时会发生什么
(而且它在IE中也不起作用,这使得这一点在实践中毫无意义。)
不,您需要为此编写一些脚本
<input type="radio" id="radiobutton">
<label for="radiobutton_other">Other:</label>
<input type="text" id="radiobutton_other">
<script type="text/javascript">
var other= document.getElementById('radiobutton_other');
other.onchange=other.onkeyup= function() {
if (this.value!=='')
document.getElementById('radiobutton').checked= true;
};
</script>
其他:
var other=document.getElementById('radiobutton_other');
other.onchange=other.onkeyup=function(){
如果(此.value!='')
document.getElementById('radiobutton')。checked=true;
};
它(标签内的输入)与HTML 4.01一样好。我在代码中看到的一个潜在问题是,在您的示例中,两个无线电元素具有相同的ID。元素ID在HTML和XHTML文档中必须是唯一的,您应该使用name
属性来标识无线组
如果更改后仍有问题,则必须将输入移到
元素外部,并使用脚本。不确定为什么需要在标签内部使用它;为什么是单选按钮而不是复选框呢?我不想使用复选框,因为我有一个多选题,应该只得到一个答案。例如:是、否和其他[填写]。我在标签中使用它,这样如果有人在文本字段中单击,单选按钮就会被勾选——这在Chrome中有效,但在没有JavaScript的Firefox中无效。我希望有一种方法可以让它正常工作。两个元素没有相同的id。