【问题标题】:update a HTML input field with the data coming from a external Javascript Websocket使用来自外部 Javascript Websocket 的数据更新 HTML 输入字段
【发布时间】:2022-01-10 20:52:09
【问题描述】:

我是 JavaScript 新手,不确定这个非常基本的问题。我使用从外部 WebSocket 获取的数据创建了一个比特币价格更新仪表板。我设法从 WebSocket 获取数据并将其显示在控制台选项卡上,并将数据显示在 h1 标记中。价格每秒钟更新一次。现在我需要在 html 字段中显示价格。我试过了,但对我来说有点难。

我提供了下面的代码 sn-ps 以及我从中提取数据的外部 Websocket。

请告诉我应该如何将行动态插入 HTML 输入字段。提前非常感谢您

                                <input type="text" class="form-control" id="btcpricenow" readonly>
                                  <script>
                                      
                         var priceSocket = new WebSocket("wss://stream.binance.com:9443/ws/btcusdt@trade"),
                          liveprice = document.getElementById("btcpricenow");
                          priceSocket.onmessage = function (event) {
                           var liveprice = JSON.parse(event.data);
                           liveprice.innerText = parseFloat(liveprice.p).toFixed(2);
                          }
                                  </script>

【问题讨论】:

    标签: javascript html websocket real-time real-time-updates


    【解决方案1】:

    您将liveprice 设置为HTML 元素,然后在您的函数中将其重置为解析后的event.data。不要像那样重置变量,只需设置一个新变量即可。此外,当您将值放入 input 元素中时,请使用 value,而不是 innerHTML

    <input type="text" class="form-control" id="btcpricenow" readonly>
    <script>
      let priceSocket = new WebSocket("wss://stream.binance.com:9443/ws/btcusdt@trade"),
        liveprice = document.getElementById("btcpricenow");
      priceSocket.onmessage = function(event) {
        let data = JSON.parse(event.data);
        liveprice.value = parseFloat(data.p).toFixed(2);
      }
    </script>
    

    【讨论】:

    • 感谢它的工作!!
    【解决方案2】:

    使用这个:

    const data= JSON.parse(event.data);
    let liveprice = document.getElementById("btcpricenow");
    liveprice.value = parseFloat(data.p).toFixed(2) || "";
    

    【讨论】:

    • 成功了!!!谢谢!!!!
    • @Kinglish 我为此问题设置了一个运算符,如果为 null 或 0 或 false,则将默认值设置为 ""
    • 哦,是的,这是一个错字
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多