我怎样才能加上一句;其他";文本输入到HTML表单中的一组单选按钮?

我怎样才能加上一句;其他";文本输入到HTML表单中的一组单选按钮?,html,forms,radio-button,textinput,Html,Forms,Radio Button,Textinput,我正在尝试创建一个表单,最后一个单选按钮是write-in“other”选项。我尝试了以下几种变体,但没有成功: <label><input type="radio" name="candidate" value="option1">First Option</label> <label><input type="radio" name="candidate" value="option2">Second Option</labe

我正在尝试创建一个表单,最后一个单选按钮是write-in“other”选项。我尝试了以下几种变体,但没有成功:

<label><input type="radio" name="candidate" value="option1">First Option</label>
<label><input type="radio" name="candidate" value="option2">Second Option</label>
<label><input type="radio" name="candidate" value="other">OTHER</label><input type="text" name="other" value="Write In" />
第一个选项
第二种选择
其他

有没有可能在提交时使用带有文本输入的单选按钮,在不使用javascript的情况下将其值传递给该单选按钮?

我不相信HTML规范支持这一点,没有。您只需让处理代码查看单选按钮,查看值是否为“其他”,然后从文本字段的输入中获取值即可(表单提交中的'other'变量而不是'candidate'变量)。

否-HTML规范不支持这一点。 您可能需要在提交表单之前通过javascript执行此操作,或者更好的是,检查单选按钮是否设置为“其他”,然后在提交表单后读取文本框值


你不想改变“other”单选按钮的返回值的一个原因是如果我输入“option1”会怎么样在文本框中?

否。这需要对DOM进行动态更新,而DOM需要javascript。

如果选择了“其他”,则只需提交文本字段中的值,将其输入收音机并将其传递给服务器是没有意义的。您可以为“其他”收音机的值提供空字符串,例如:

<label><input type="radio" name="candidate" value="">OTHER</label>
其他

在服务器上,如果“候选者”中没有值,请查看“其他”。

这是我能看到的最简单的方法,如果我错了,请纠正我

<form name="fruitForm" method="post" action="other-post.php">
<label><input type="radio" name="fruit" value="apple" onClick="regularFruit()">apple</input></label>
<label><input type="radio" name="fruit" value="orange" onClick="regularFruit()">orange</input></label>
<label><input type="radio" name="fruit" value="lemon" onClick="regularFruit()">lemon</input></label>
<label onClick="otherFruit()">
    <input type="radio" name="fruit" id="other_fruit" value="other" >or other fruit:</input>
    <input type ="text" name="other" id="other_text"/></label>
    <input type="submit" value="Submit">
</form>

<script>
function otherFruit(){
a=document.getElementById('other_fruit');
a.checked=true;
}
function regularFruit(){
a=document.getElementById('other_text');
a.value="";
}
</script>

苹果
橙色
柠檬
或其他水果:
函数otherFruit(){
a=document.getElementById(“其他水果”);
a、 选中=正确;
}
函数regularFruit(){
a=document.getElementById('other_text');
a、 value=“”;
}
当标签包含单选和文本字段时,文本字段将检查“其他”单选,并将“其他”的值作为字段中输入的内容发送。然后再次检查单选按钮将清除文本字段。我做了以下操作(运行代码段以查看其功能).希望你能看看它是怎么工作的

处理表单时,您可以通过选中单选按钮或文本框中有值来检查值

$(文档)。准备好了吗(
函数(){
$('input[name=amount]')。在('click',function()上{
var customText=$('input[name=custom amount]');
customText.val(“”);
customText.parent().removeClass(“选定”);
});
$('input[name=custom amount]')。在('click',function()上{
$('input[name=amount]').attr('checked',false);
$(this.parent().addClass(“选定”);
});
});
。捐赠{
字体系列:无衬线;
}
.捐款.受款人{
颜色:#4B8EBC;
字体大小:粗体;
}
.捐赠.自定义金额{
宽度:150px;
高度:40px;
背景色:#7DB6DA;
颜色:#325F7F;
字体大小:粗体;
字号:1rem;
填充:2px;
左侧填充:6px;
}
.捐赠.自定义金额输入{
字体重量:较轻;
字体大小:0.8rem;
背景色:白色;
宽度:116px;
高度:24px;
利润上限:4倍;
左边距:6px;
}
.捐赠.无线电控制{
位置:相对位置;
显示:内联块;
字号:1rem;
宽度:50px;
高度:40px;
光标:指针;
z指数:12;
}
.捐赠.无线电控制输入[type=“radio”]{
位置:绝对位置;
z指数:-1;
不透明度:0;
}
.捐赠.无线电控制指示器{
位置:绝对位置;
排名:0;
左:0;
右:0;
底部:0;
z指数:10;
文本对齐:居中;
线高:40px;
}
.捐赠.无线控制\u指示器,.捐赠.自定义金额{
背景色:#7DB6DA;
颜色:#325F7F;
}
.捐赠.无线电控制:悬停输入~.无线电控制指示灯,
.捐赠.无线电控制输入:焦点~.无线电控制指示灯{
不透明度:0.9;
}
.捐赠.无线电控制输入:选中~.无线电控制指示灯,
。捐赠。自定义金额。已选择{
背景:#4B8EBC;
颜色:白色;
}
.捐赠.无线电控制:悬停输入:未([禁用]):选中~.无线电控制指示灯,
.捐赠.无线电控制输入:选中:焦点~.无线电控制指示灯{
不透明度:1;
}

$5
$10
$20
$50
$