JavaScript获取下拉选框option值时返回文本而非value的问题求助
JavaScript获取下拉选框option值时返回文本而非value的问题求助
看起来你碰到的这个问题挺常见的,我来帮你梳理下可能的原因和解决办法:
检查代码执行时机:如果你的JS代码在页面DOM还没完全加载完成就运行了,很可能会出现获取到的下拉框状态异常,导致返回的是选项文本而非value值。解决方式很简单:要么把JS代码放在页面底部(
</body>标签之前),要么用DOM加载完成的事件包裹代码:document.addEventListener('DOMContentLoaded', function() { var tipocontratto = document.scheda.contratto.value; console.log(tipocontratto); });换用更可靠的元素获取方式:通过表单name来获取元素偶尔会遇到命名冲突的问题,不如直接用下拉框的id来获取——毕竟id在页面里是唯一的,不会出错:
var tipocontratto = document.getElementById('contratto').value; console.log(tipocontratto);排查命名冲突:检查页面里有没有其他
name或id为contratto的元素,如果有的话,document.scheda.contratto可能会指向错误的元素,导致你拿到的不是下拉框的value值。
你可以先试试上面的方法,应该就能解决问题啦。
备注:内容来源于stack exchange,提问作者alessio scionti
相关产品推荐
相关产品推荐

