I have the following code to input the reading value of a barcode:
$(document).ready(function(){ $(".scanner-input").focus().on("input",function(){ let barcode = $(this).val(); }) }); .lnr { margin-top: 5%; font-size: 1000%; } <link href="https://cdn.jsdelivr.net/npm/[email protected]/pe-icon-7-stroke/dist/pe-icon-7-stroke.min.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form name="form" method="post" action=""> <input type="text" name="ColabAssid" class="scanner-input" id="ColabAssid" value=""> <button type="submit" class="btn btn-success btn-xl" onclick="inserir_assid();"> <i class="pe-7s-look lnr"></i></button> </form> And it works well this way. But I wanted to hide the input, and I've done it in these two ways:
<input type="hidden" name="ColabAssid" class="scanner-input" id="ColabAssid" value=""> OR
<input style="display:none;" type="text" name="ColabAssid" class="scanner-input" id="ColabAssid" value=""> The problem is that in the two ways I put it above, the input no longer receives the value of the barcode reading.
How can I hide the input and still receive the barcode reading value?
opacity: 0possibly. Makes the element transparent, so you can't see it but it's still there and still occupies space. One of the problems will be that if the input loses focus for any reason, it may be difficult to get it back if you can't see the input.