Включить пустые ответы в форму - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь использовать HTML, Jquery и Node.js для разработки онлайн-теста для моих студентов. В настоящее время, когда я отправляю форму, сервер получает объект json (с использованием body-parser), который включает в себя только те поля, на которые были получены ответы. Тем не менее, я также должен быть в состоянии увидеть, какие из них не ответили. Например, если мой ученик отвечает на вопросы 1, 2, 3, но не на 4, сервер показывает следующее:

{Q1: a, Q2: b, Q3: c}

Я хочу получить:
{Q1: a, Q2: b, Q3: c, Q4: ''}

Я пытался искать в Интернете, однако большинство постов объясняют, как избавиться от пустых ответов, а не как их включать.

Это то, что у меня сейчас

<div id="FormContainer1" class="container">
      <form id="Form1" action="/Form1" method="POST">
        <div class="row">
          <div class="col">
            <div class="row">
                <label> 1.  </label>
                <label>A </labe> <input type="radio" name="Q1" value="A">
                <label>B </labe> <input type="radio" name="Q1" value="B">
                <label> C </labe> <input type="radio" name="Q1" value="C">
                <label> D </labe> <input type="radio" name="Q1" value="D">
              </div>
              <div class="row">
                <label> 2.  </label>
                <label> A </labe> <input type="radio" name="Q2" value="A">
                <label> B </labe> <input type="radio" name="Q2" value="B">
                <label> C </labe> <input type="radio" name="Q2" value="C">
                <label> D </labe> <input type="radio" name="Q2" value="D">
              </div>
              <div class="row">
                <label> 3.  </label>
                <label> A </labe> <input type="radio" name="Q3" value="A">
                <label> B </labe> <input type="radio" name="Q3" value="B">
                <label> C </labe> <input type="radio" name="Q3" value="C">
                <label> D </labe> <input type="radio" name="Q3" value="D">
              </div>
              <div class="row">
                <label> 4.  </label>
                <label> A </labe> <input type="radio" name="Q4" value="A">
                <label> B </labe> <input type="radio" name="Q4" value="B">
                <label> C </labe> <input type="radio" name="Q4" value="C">
                <label> D </labe> <input type="radio" name="Q4" value="D">
              </div>
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col">
            <input type="submit" value="Submit">
          </div>
        </div>
      </form>

а на сервере у меня

app.post('/Form1', urlencodedParser, function(request,response){ console.log(request.body); })

1 Ответ

3 голосов
/ 29 мая 2019

Вы можете добавить скрытый переключатель для каждого вопроса, помеченного как checked:

<input type="radio" name="Q4" value="" style="display: none;" checked>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...