javascript - 基于文本框输入的二维码显示

标签 javascript jquery html

我需要有关基于文本框输入的条形码显示方面的帮助。例如,如果键入“Computer”并按“Enter”键输入另一个词。我想让它显示在条形码上

<html>
    <head>
        <title>Testing QR code</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript">
            function generateBarCode()
            {
                var nric = $('#text').val();
                var url = 'https://api.qrserver.com/v1/create-qr-code/?data=' + nric + '&amp;size=50x50';
                $('#barcode').attr('src', url);
            }
        </script>
    </head>
    <body>
        <input id="text" type="text" value="NRIC or Work Permit" style="Width:20%" onblur='generateBarCode();' /> <br>
        <br><br>
      <img id='barcode' 
            src="https://api.qrserver.com/v1/create-qr-code/?data=HelloWorld&amp;size=100x100" 
            alt="" 
            title="HELLO" 
            width="100" 
            height="100" />
    </body>
</html>

最佳答案

您可以使用 oninput 事件来处理文本输入中的任何更改:

function generateBarCode() {
   var nric = $('#text').val();
   var url = 'https://api.qrserver.com/v1/create-qr-code/?data=' + nric + '&amp;size=50x50';
   $('#barcode').attr('src', url);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

        <input id="text" type="text" value="NRIC or Work Permit" style="Width:20%" oninput='generateBarCode();' /> <br>
        <br><br>
      <img id='barcode' 
            src="https://api.qrserver.com/v1/create-qr-code/?data=HelloWorld&amp;size=100x100" 
            alt="" 
            title="HELLO" 
            width="100" 
            height="100" />

或者您可以检测用户何时按下回车键并更新条形码。

 function generateBarCode(e) {
  var code = !e || (e.keyCode ? e.keyCode : e.which);
  if(!e || code == 13) {
    var nric = $('#text').val();
    var url = 'https://api.qrserver.com/v1/create-qr-code/?data=' + nric + '&amp;size=50x50';
    $('#barcode').attr('src', url);
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="text" type="text" value="NRIC or Work Permit" style="Width:20%" onKeyPress='generateBarCode(event);' onblur='generateBarCode();' /> <br>
        <br><br>
      <img id='barcode' 
            src="https://api.qrserver.com/v1/create-qr-code/?data=HelloWorld&amp;size=100x100" 
            alt="" 
            title="HELLO" 
            width="100" 
            height="100" />

在上面我使用了var code = !e || (e.keyCode ? e.keyCode : e.which); 检测是否按下回车 (e.keyCode ? e.keyCode : e.which) (对于按键事件) ,或者如果没有为 onblur 事件按下任何键 (!e)。

关于javascript - 基于文本框输入的二维码显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43348247/

相关文章:

javascript - 出现错误 Invariant Violation 试图让帧超出范围索引?

javascript - 如何删除具有包含特定文本的 TD 的 TR

Javascript(叠加菜单)关闭过渡

javascript - 从 JSON Href 获取在表中工作的按钮

javascript - 输入的插入符高度

javascript - 向 React 添加样式组件时遇到问题

javascript - 将 div 追加到特定 div 的父级之上,并在 dom 中更改顺序

javascript - 相邻图表中是否可以进行多级 Highchart Drilldown?

html - 按钮在悬停时不会隐藏

html - 将图像与文本对齐