Javascript 如果选择“其他”选项并发布数据,则激活文本框

Javascript 如果选择“其他”选项并发布数据,则激活文本框,javascript,html,Javascript,Html,我在这里的另一个条目上发现了这段代码,它工作正常,除了如果从选择框中选择了颜色,则文本字段将被覆盖为零,因此邮件中不会发送任何内容。有人能帮忙吗 <html> <head> <script type="text/javascript"> function CheckColors(val){ var element=document.getElementById('color'); if(val=='pick a color'||val=='other

我在这里的另一个条目上发现了这段代码,它工作正常,除了如果从选择框中选择了颜色,则文本字段将被覆盖为零,因此邮件中不会发送任何内容。有人能帮忙吗

<html> 
<head>  
<script type="text/javascript">
function CheckColors(val){
 var element=document.getElementById('color');
 if(val=='pick a color'||val=='others')
   element.style.display='block';
 else  
   element.style.display='none';
}

</script> 
</head>
<body>
  <select name="color" onchange='CheckColors(this.value);'> 
    <option>pick a color</option>  
    <option value="red">RED</option>
    <option value="blue">BLUE</option>
    <option value="others">others</option>
  </select>
<input type="text" name="color" id="color" style='display:none;'/>
</body>
</html>
谢谢


John

看起来您需要将所选颜色设置到文本框中 在Javascript部分中,更改以下内容:

    if(val=='pick a color'||val=='others'){ //Always use curly brackets 
         element.style.display='';
         element.value = '';
    }
    else { 
         element.style.display='none';
         element.value = val;
    }

感谢@YuriG,这在一定程度上是可行的,但是如果选择了其他人,文本vox将预先填充其他人,我希望这是空白的。可能吗?在这种情况下,您可以在条件的if部分添加element.value=,我给了它一个go@YuriG,但是如果选择了其他人,它不会显示文本框。只是为了在同一页上:当您选择其他人时,您希望文本框为空还是希望它填充一些值?@YuriGI希望文本框为空?因此,用户可以键入“选择”中没有的任何其他颜色。谢谢你的帮助。你想让他们选择什么颜色吗?如果不是,那么如何,如果您想要颜色名称,那么有js库可以将十六进制更改为名称。