如何将div元素中的内容获取到textbox输入框中?
解决条码结果同步到输入框的问题
嘿,这个问题我遇见过!核心原因其实是你犯了一个很容易忽略的HTML规范问题——同一个页面里不能有重复的id。浏览器在通过id查找元素时,只会返回第一个匹配到的元素(也就是你的<div id="result"></div>),所以你尝试给同id的input赋值时,根本找不到正确的输入框元素。
下面是具体的解决步骤:
1. 修正重复的id
首先把输入框的id改成唯一值,比如input-barcode-result,避免和div的id冲突:
<!-- 展示条码结果的div --> <div id="result"></div> <!-- 用来接收结果的输入框 --> <input type="text" id="input-barcode-result">
2. 在条码处理函数中同时更新两个元素
修改你的JS代码,在barcode的handler函数里,同时把条码值赋值给div和输入框:
$(document).ready(function() { barcode.setHandler(function(barcode) { // 更新div的展示内容 $('#result').html(barcode); // 更新输入框的内容 $('#input-barcode-result').val(barcode); }); barcode.init(); });
额外说明(不推荐但可选)
如果实在不想修改id(强烈不建议,违反HTML规范),你可以通过标签类型来区分两个元素,比如:
$(document).ready(function() { barcode.setHandler(function(barcode) { $('div#result').html(barcode); $('input#result').val(barcode); }); barcode.init(); });
但还是优先推荐保持id唯一,这能避免后续其他JS或样式出现意想不到的问题。
内容的提问来源于stack exchange,提问作者zokanzi
相关产品推荐
相关产品推荐

