2016-04-26 26 views
0

Ich möchte die Schaltfläche nur eine neue Daten ausstrahlen.Socket.io Client emittieren alte Daten

Meine Taste auf Klick mit der Funktion unten gesetzt,

function regis() { 
    socket.emit('register', 
    { 
    'username': $('#regis-username').val(), 
    'password': $('#regis-password').val(), 
    'email': $('#regis-email').val() 
    },function() { 
    console.log('Regis'); 
    }); 
} 

Als ich es zum ersten Mal klicken, wird es meine Daten an den Server sendet. //Das ist richtig. Also versuche ich das zweite Mal, es gibt meine alten Daten an den Server aus und gibt meine neuen Daten an den Server aus. (2 mal in der Reihenfolge ausstrahlen) Also versuche ich das dritte mal, es gibt meine alten Daten dann meine zweiten Daten dann meine neuen Daten aus. (3 Mal in der Reihenfolge emittieren)

Wie kann ich tun, um meine Schaltfläche nur einmal mit meinen neuen Daten für jeden Klick zu emittieren?

+0

Wie wird die Funktion ausgelöst? – rahpuser

Antwort

0

Es gibt nichts im Code, den ich sehen kann, der dazu führen würde, dass der Client mehr als einmal und alles, was in diesen Elementen ist, ausgibt.

Gibt es noch andere Orte mit Fehlern?
Vielleicht als Vorsichtsmaßnahme können Sie die Formularelemente löschen?

function regis() { 
    socket.emit('register', 
     { 
      'username': $('#regis-username').val(), 
      'password': $('#regis-password').val(), 
      'email': $('#regis-email').val() 
     }, 
    function() { 
      console.log('Regis'); 
      $('#regis-username').val(''); 
      $('#regis-password').val(''); 
      $('#regis-email').val(''); 
    }); 
} 
Verwandte Themen