Как обрабатывать события ввода с помощью экспресса?

avatar
Manu
8 апреля 2018 в 06:27
152
0
1

Я все еще пытаюсь понять, что такое экспресс, поэтому прошу прощения за, возможно, очень очевидный вопрос.

У меня есть две формы ввода, и я хочу обновлять каждую из них при вводе другой. Вот мой index.pug

form(action='/', method='post')
    input(name='kms', type='number', placeholder='Kilometers', onkeyup='updateMiles')
    input(name='ms', type='text', placeholder='Miles', onkeyup='updateKilometers')

Поэтому, когда я ввожу число в поле ввода километров, поле ввода миль должно автоматически обновляться при каждом нажатии клавиши. Проблема в том, что я не знаю, как обрабатывать это событие onkeyup с помощью экспресса. Я попытался поместить функцию в index.js, но она не работает.

var express = require('express');
var router = express.Router();
...
function updateMiles() {
  var input = document.forms[0].kms;
  document.forms[0].ms = input/1.609344;
}
...
module.exports = router;

Я получаю Uncaught ReferenceError: updateMiles is not defined at HTMLInputElement.onkeyup

Я не могу найти никаких ссылок на правильный способ справиться с этим. Буду признателен за любую помощь. Спасибо!

Источник
Ludovit Mydla
8 апреля 2018 в 06:32
3

Зачем вам нужен экспресс, чтобы сделать это? Вы можете сделать конвертацию прямо там, на стороне «клиента». Express предназначен для серверного JS. Может я что-то пропустил?

Farhan Tahir
8 апреля 2018 в 06:41
1

Вы должны понимать одну вещь: JavaScript может работать с обеих сторон, да, но вы не можете выполнять манипуляции с DOM в бэкэнде с помощью JS, это работа JS на стороне клиента.

Manu
8 апреля 2018 в 07:20
1

Вы оба правы, конечно. Я просто сделал это более сложным, чем мне нужно было. Спасибо!

Ответы (0)