javascript - 选择 "other"字段时将选择选项发布到数据库

标签 javascript html

我使用下面的代码在选择“其他”选项时显示输入字段。

当选择“其他”时,它会完美地工作。

但是,当选择“其他”以外的任何其他选项时,我无法发布到数据库。

问题是文本输入否定了选择选项。 知道如何解决这个问题吗?

有一个问题试图解决问题,但我没有足够的声誉来发表评论 Stackoverflow.com/questions/9634783/how-to-activate-a-textbox-if-i-select-an-other-option-in-drop-down-box

<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>

最佳答案

问题是,您有多个同名的表单元素。这在某些情况下可能有效,但通常是一种不好的做法。以不同的方式命名它们,并让处理输入的代码处理数据。

如果您真的需要一个名称为“color”的输入来保存当前颜色,这里有一个应该可行的解决方案:

function checkColors(val) {
  var element = document.getElementById('color');

  if (val == 'pick a color' || val == 'others') {
    element.style.display = 'block';
  } else {
    element.value = val; //make sure element always has the right value;
    element.style.display = 'none';
  }
}
<html>

<head>
</head>

<body>
  <select name="colorSelect" 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>

关于javascript - 选择 "other"字段时将选择选项发布到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897502/

相关文章:

javascript - 图片淡入淡出($未定义)

javascript - 在 Dynamic Globe Rotation 中有太多垂直和水平线我不想要太多线

javascript - JQuery读取、解析、显示文本文件并统计结果

jquery - if 和 else 代码块一起运行

javascript - 显示从 URL 到 html 的数据

javascript - 对于 JavaScript 数组和对象,我应该使用哪个 for 循环?

javascript - 如何使用jquery从父元素中删除文本(不删除内部元素)

javascript - jQuery html() 将大括号转换为 html 实体(有时)

javascript - 在 Firefox 和 IE 中禁用/禁用后退按钮的替代方法

javascript - 在我的 html 页面上添加阅读更多内容会产生奇怪的行为