【问题标题】:Send Data with OnChange on Socket.io在 Socket.io 上使用 OnChange 发送数据
【发布时间】:2017-12-18 17:08:20
【问题描述】:

我想通过 onchange() 函数使用 socket.io 将选择框值发送到我的 NodeJS 服务器。

现在,我可以使用如下代码所示的按钮发送;

server.js;

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res) {
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket) {
  socket.on('socketdeneme', function(msg) {
    console.log("Message received: " + msg);
  });
});

http.listen(2000, function() {
  console.log('listening on *:2000');
});

index.html;

<!doctype html>
<html>

<head>
  <title>Socket.IO chat</title>
  <script src="/socket.io/socket.io.js"></script>
  <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
  <script type="text/javascript">
    $(function () {
      var socket = io();

      $('form').submit(function() {
        socket.emit('socketdeneme', $('#m').val());    
      });

    });
  </script>
</head>

<body>
  <form action="">
    <select id=m multiple>
      <option value="dnm">dnm</option>
      <option value="dnm1">dnm1</option>
      <option value="dnm2">dnm2</option>
    </select>
    <button>Send</button>
  </form>
</body>

</html>

另一方面,下面的代码使用 onchange() 函数发送数据,但我无法将它与 socket.io 一起使用。

<script type="text/javascript">
        function submitformfabrika() {
          document.formsubmitfabrika.submit();
        }
</script>

【问题讨论】:

    标签: javascript jquery html node.js socket.io


    【解决方案1】:

    您可以使用 .change 方法 (https://api.jquery.com/change/) 发出您的 socketdeneme 事件,该事件将被服务器接收。

    替换

    $('form').submit(function() {
      socket.emit('socketdeneme', $('#m').val());    
    });
    

    $('form').change(function() {
         socket.emit('socketdeneme', $('#m').val());    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      • 2013-01-19
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      相关资源
      最近更新 更多