Задать вопрос
toffi77
@toffi77

Почему при отправке HTML-формы страница открывается в новом окне?

Помогите, пожалуйста, разобраться, почему при отправке формы на компьютере, то есть на локальном хосте, форма работает так, как мне нужно. Форма не открывает новую страницу, а её данные попадают в MySQL. Когда я выгрузил файлы index.html и app.js на VPS, то после отправки формы страница открывается в новом окне. И ещё проблема: при отправке формы на VPS данные из формы не поступают в таблицу MySQL.
<!DOCTYPE html>
<html>
<head>
    <title>Тестовая страница</title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>Введите данные</h1>
<form method="post" onsubmit="myFunction()">
<p>
<label for="website">URL проекта: </label>
<input type="url" name="website" required>
</p>
<p>
<label for="chronicle">Хроники: </label>
<input type="text" name="chronicle" required></input>
</p>
<p>
<label for="exp">Exp: </label>
<input type="number" min="0" max="500000" id="exp" name="exp" required>
</p>
<p>
<label for="dropI">Drop: </label>
<input type="number" min="0" max="500000" id="dropI" name="dropI" required>
</p>
<p>
<label for="spoil">Spoil: </label>
<input type="number" min="0" max="500000" id="spoil" name="spoil" required>
</p>
<p>
<label for="adena">Adena: </label>
<input type="number" min="0" max="500000" id="adena" name="adena" required>
</p>
<p>
<label for="dateOpen">Дата открытия: </label>
<input type="date" id="dateOpen" name="dateOpen" required></input>
</p>
<p>
<label for="timeOpen">Время открытия: </label>
<input type="time" id="timeOpen" name="timeOpen" required></input>
</p>
<p>
<label for="comment">Примечание: </label><br>
<textarea id="comment" name="comment" placeholder="Примечание"
maxlength="3000" cols="83" rows="10"></textarea>
</p>
<p>
<input type="submit" value="Отправить"><input type="reset" value="Очистить">
</p>
</form>

<script>
myFunction = function(e) {
    e.preventDefault();
}
</script>

</body>
</html>

const mysql = require("mysql2");
const express = require("express");
   
const app = express();
 
const urlencodedParser = express.urlencoded({extended: false});

const pool = mysql.createPool({
  connectionLimit: 5,
  host: "localhost",
  user: "root",
  database: "usersdb",
  password: "10101010"
});

app.get("/", function (_, response) {
    response.sendFile(__dirname + "/index.html");
});
app.post("/", urlencodedParser, function (req, res) {
    if(!req.body) return response.sendStatus(400);
    const website = req.body.website;
    const chronicle = req.body.chronicle;
	const exp = req.body.exp;
    const dropI = req.body.dropI;
	const spoil = req.body.spoil;
    const adena = req.body.adena;
	const dateOpen = req.body.dateOpen;
	const timeOpen = req.body.timeOpen;
	const comment = req.body.comment;
	pool.query("INSERT INTO users (website, chronicle, exp, dropI, spoil, adena, dateOpen, timeOpen, comment) VALUES (?,?,?,?,?,?,?,?,?)", [website, chronicle, exp, dropI, spoil, adena, dateOpen, timeOpen, comment], function(err, data) {
      if(err) return console.log(err);
      res.redirect("/");
	});
});
   
app.listen(3000, ()=>console.log("Сервер запущен..."));

687a79565840b629700503.jpeg
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы