首页 > 解决方案 > 如何将 jQuery 函数翻译成原生 javascript?

问题描述

我的作业有问题。在我解释这个之前,我想为我的英语道歉。所以,我尝试在 node.js 中进行聊天。我从网站“ https://openclassrooms.com/fr/courses/1056721-des-applications-ultra-rapides-avec-node-js/1057959-tp-le-super-chat ”中挑选了一个小代码。它运作良好。聊天使用输入文本来发送消息。

我的问题是:这个聊天使用了一个 jQuery 库,而且它太旧了,我想将 jQuery 的函数翻译成原生 javascript。我已经成功翻译了其中的 3 个。一是还在抵抗。

$('#formulaire_chat').submit(function () {
    var message = $('#message').val();
    socket.emit('message', message); // Send the message to others clients
    insereMessage(pseudo, message); // Also post the message on our page
    $('#message').val('').focus(); // Empty the Chat area and put the focus back on
    return false; // Allows you to block the "classic" sending of the form
});

我试着把它变成这样:

document.getElementById('formulaire_chat').submit(function () {
    var message = document.getElementById('message').value;
    socket.emit('message', message); // Send the message to others clients
    insereMessage(pseudo, message); // Also post the message on our page
    document.getElementById('message').value = ' ';
    document.getElementById('message').focus();
    return false; // Allows you to block the "classic" sending of the form
});

当我使用“翻译”功能时,我收到错误“无法 POST /”我尝试一一操作所有行,以找到它阻塞的位置。但是,尽管我工作了几个小时,但它还没有工作。我正在学习代码,我是初学者,所以请不要评判我。

标签: javascriptjquerynode.jsexpresssocket.io

解决方案


您可以尝试 .addEventListener 或 .onsubmit() 或 (onsubmit="submitFunction()" 在表单标签的 html 上)

document.getElementById('formulaire_chat').addEventListener('submit', function(evt){
    var message = document.getElementById('message').value;
    socket.emit('message', message); // Send the message to others clients
    insereMessage(pseudo, message); // Also post the message on our page
    document.getElementById('message').value = ' ';
    document.getElementById('message').focus();
    return false; // Allows you to block the "classic" sending of the form
});

推荐阅读