Я готовлю форму, чтобы взять некоторые данные в базе данных для местного бизнеса.Мне удалось динамически получить данные из моей базы данных MySQL и поместить их в раскрывающийся список, но я не могу заполнить значение, которое идет с тегом option, в качестве значения, которое получает элемент, потому что в нем есть место.Я решил использовать lodash для преобразования данных в случай змеи, но я не могу заставить их попасть в поле значения.
Код App.js
const express = require("express");
const bodyParser = require("body-parser");
const db = require("./util/database");
const _ = require("lodash");
const app = express();
app.set("view engine", "ejs");
app.use(
bodyParser.urlencoded({
extended: true
})
);
app.listen(3000, function() {
console.log("Server Started at port 3000");
});
app.get("/", function(req, res) {
db.execute("SELECT customerName FROM customers")
.then(([rows, fieldData]) => {
// console.log(_.snakeCase(rows[0].customerName));
const map = rows.map(name => _.snakeCase(name.customerName));
res.render("home.ejs", {
customerName: rows,
customerNameSnakeCase: map
});
})
.catch(err => {
console.log(err);
});
});
app.post("/", function(req, res) {
const quantity = req.body.quantity;
const rate = req.body.rate;
const amount = quantity * rate;
res.render("another", {
amountValue: amount
});
});
home.ejsкод
<%- include("partials/header"); -%>
</head>
<body>
<form class="form-control" action="/" method="post">
<input type="date" name="date">
<label for="salePurchase">Type of Transaction</label>
<select required>
<option value="sale">Sale</option>
<option value="purchase">Purchase</option>
<option value="other">Others</option>
<option value="payment">Payment</option>
<option value="receipt">Receipts</option>
</select>
<label for="vehicleNumber">Vehicle Number</label>
<input type="number" , name="vehicleNumber">
<label for="partyName">Party Name</label>
<select>
<% customerName.forEach((name) => { %>
<option value=""><%= name.customerName %></option>
<% }) %>
</select>
<select>
</select>
<label for="factory">Factory</label>
<select>
<option value="Butibori">Butibori</option>
<option value="Hingna">Hingna</option>
</select>
<label for="group">Group</label>
<select name='group'>
<option value='finishedProduct'>Finished Products</option>
<option value='scrapMaterial'>Scrap Material</option>
<option value='rerollingMaterial'>Rerolling Material</option>
<option value='coal'>Coal</option>
<option value='machinery'>Machinery</option>
<option value='freight'>Freight</option>
</select>
<label for="item">Item</label>
<select name='item'>
<option value='squareBar'>Square Bar</option>
<option value='roundBar'>Round Bar</option>
<option value='flatBar'>Flat Bar</option>
<option value='angle'>Angle</option>
<option value='gateChannel'>Gate Channel</option>
</select>
<label for="itemSpecifics">Item Specifics</label>
<select name='sqaureBar'>
<option value='6mmFixed'>6mm Fixed</option>
<option value='6mmRandom'>6mm Random</option>
<option value='8mmFixed'>8mm Fixed</option>
<option value='8mmRandom'>8mm Random</option>
<option value='10mmFixed'>10mm Fixed</option>
<option value='10mmRandom'>10mm Random</option>
<option value='12mmFixed'>12mm Fixed</option>
<option value='12mmRandom'>12mm Random</option>
</select>
<input type="number" name="quantity" placeholder="Total Quantity">
<input type="number" name="rate" placeholder="Rate per Ton">
<input type="number" name="amount" placeholder="Total Amount">
<input type="text" name="comments" placeholder="Comments">
<button type="submit">Submit</button>
</form>
<%- include("partials/footer"); -%>
В данный момент я ничего не получаю в поле значения, но мне нужно имя клиента, которое создается в случае змеи.Кстати, в базе данных MySQL есть таблица клиентов с несколькими именами.