Проблема с этим
var name1 = $('#firstname');
// etc
Возвращает объект jQuery , поэтому строковое значение равно [object object]
Попробуйте получить значение входных данных (при условии, конечно, что они являются входными данными), используя jquery.val ()
$(document).on('click', '.adm-req', function(data) {
var name1 = $('#firstname').val();
var lastname = $('#lastname').val();
var userid = $('#userid').val();
var pin = $('#pin').val();
var password = $('#password').val();
socket.emit('--get-request_adm', {
firstname: name1,
lastname: lastname,
userid: userid,
pin: pin,
password: password
});
});
в качестве альтернативы, если вам нужны объекты jQuery по какой-то другой причине
$(document).on('click', '.adm-req', function(data) {
var name1 = $('#firstname');
var lastname = $('#lastname');
var userid = $('#userid');
var pin = $('#pin');
var password = $('#password');
socket.emit('--get-request_adm', {
firstname: name1.val(),
lastname: lastname.val(),
userid: userid.val(),
pin: pin.val(),
password: password.val()
});
});