HTML5范围输入重新加载

HTML5 Range Input Reload

本文关键字:加载 新加载 范围 输入 HTML5      更新时间:2023-09-26

我正在开发一个使用范围输入类型的在线调查。到目前为止,我已经设法将范围值发送到范围滑块上方的输出显示,并用范围值填充文本框。

然而,由于某种原因,当从复选框中重新加载值时,我运气不太好。理想情况下,我还希望推送这个重新加载的值,以提供范围输入的值。

代码如下:

function vasOutputUpdate(val) {
  var val = document.getElementById('selectVAS').value;
  document.getElementById('vasOutput').value = val;
  document.getElementById('vasStored').value = val;
}
function reloadVAS() {
  var vas = document.getElementById('vasStored').value;
  if (vas == "") {
    vas = "";
  } else {
    document.getElementById('selectVAS').value = vas;
  }	
}
reloadVAS();
#selectVAS {
  width: 378px;
}
#vasStored {
  width: 50px
}
<input type="range" id="selectVAS" name="selectVAS" min="0" max="10" step="0.5" oninput="vasOutputUpdate(this.value);" />
<output for="selectVAS" id="vasOutput">5</output>
<input type="text" id="vasStored" />

有人能在我的代码中看到任何错误吗,或者知道这个问题的解决方案吗?我对此很陌生,所以我想这是一件很明显的事情。。

如果我理解得很好,你想要这样的东西

var range = document.getElementById('selectVAS'),
    output = document.getElementById('vasOutput'),
    text = document.getElementById('vasStored');
(range.oninput = text.oninput = function() {
  range.value = text.value = output.value = this.value;
}).call(range);
#selectVAS {
  width: 378px;
}
#vasStored {
  width: 50px
}
<input type="range" id="selectVAS" name="selectVAS" min="0" max="10" step="0.5" />
<output for="selectVAS" id="vasOutput">5</output>
<input type="text" id="vasStored" />