javascript - 如何将 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 /”我尝试一一操作所有行,以找到它阻塞的位置。但是,尽管我工作了几个小时,但它还没有工作。我正在学习代码,我是初学者,所以请不要评判我。
解决方案
您可以尝试 .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
});
推荐阅读
- c# - 使用 Cognito 和 Xamarin 表单的 Google 身份验证
- python - 在 Python 中将信息从一个线程发送到另一个线程并在原始线程、PyQT、MVC 架构中显示消息
- docker - 用 API 网关大使替换 nginx 入口
- java - 映射 get/customers 时出现 404 错误
- c# - 如何为 ThisDocument 声明一个基类?
- mysql - MYSQL:使用 SELECT 和多个 JOINS 更新数据库行
- java - BorderLayout.Center 不适用于 JPanel
- sql - 使用 SQL 中的时间戳获取一年中的第一个和最后 6 个月
- java - 在 Spring Boot REST 应用程序中存储临时的每日数据
- javascript - HTML5 Canvas:用颜色填充透明图像并在顶部绘图