Обработка нескольких версий отправки одной формы с помощью Node

Прежде всего, почему это не дубликат: я спрашиваю об обработке нескольких версий отправки с помощью Node. Я не нашел ни одного сообщения об этом.

На основе это я построил это:

<form method = "post">
    <% for(let i = 0; i < websites.length; i++){ let website = websites[i]; %>
    <fieldset>
        <label for = "website<%= i %>" class = "col-sm-2">Website <%= i + 1 %></label>
        <input class = "website" name = "website<%= i %>" id = "website<%= i %>" value = "<%= website %>" type = "text"/>
        <span style = "color: red"><%= errorMsgs[i] %></span>
        <a href = "/websites/edit/<%= i %>" class = "btn btn-info">Edit</a>
        <a href = "/websites/delete/<%= i %>" class = "btn btn-danger confirmation hide">Delete</a>
        <div id = "removeBtn" class = "btn btn-danger confirmation">Remove</div>
    </fieldset>
    <% } %>
    <input type = "submit" class = "btn btn-primary col-sm-offset-2" value = "Generate a report" name = "generateReport"
           data-toggle = "modal" data-target = "#exampleModal">
    <input type = "submit" class = "btn btn-primary col-sm-offset-2" value = "Save websites" name = "saveWebsites">
    <!-- Modal -->
</form>

Я использую EJS, но не думаю, что в данном случае это имеет значение.

А это моя задняя часть:

console.info(req.generateReport);
console.info(req.saveWebsites);
if (req.generateReport!==null){
    console.info('report');
    return 0;
}
else if (req.saveWebsites!==null){
    console.info('save');
    return 0;
}

Я пытался использовать ответ, на который я поместил ссылку ранее, но оказалось, что свойства req.saveWebsites и req.generateReport оба не определены ... Итак, как мне справиться с этим с помощью Node?

Я не хочу использовать AJAX, потому что он мне нужен для работы с отключенным JS.

Я не думаю, что вы можете сделать это с помощью обычного HTML. Наличие двух кнопок для отправки формы в разные места

yBrodsky 02.05.2018 17:56

Я знаю, что это возможно на Java. Будет ли в этом Node отставать?

Alex Ironside 02.05.2018 18:01

Нет, проблема во внешнем интерфейсе. Любая кнопка просто отправит форму. Если вам нужен дополнительный параметр, вы должны использовать javascript, чтобы перехватить отправку и добавить ее.

yBrodsky 02.05.2018 18:03

Другое дело, req.generateReport всегда будет неопределенным. Вы будете отправлять все в теле. req.body

yBrodsky 02.05.2018 18:04

@ alex3wielki Как бы вы это сделали на Java? Вы имеете в виду JavaScript?

Sidney 02.05.2018 18:17

@ Сидней Ява. Я разместил ссылку на ответ на свой вопрос. Вот ссылка stackoverflow.com/questions/11830351/…. Использование req.body ничего не меняет. Но хороший улов

Alex Ironside 02.05.2018 21:21
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
172
1

Ответы 1

В итоге я сделал всего две версии формы. Один с AJAX, а другой без него.

Другие вопросы по теме