【问题标题】:Include empty responses in form在表单中包含空响应
【发布时间】:2019-10-15 12:28:54
【问题描述】:

我正在尝试使用 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); })

【问题讨论】:

  • 仅供参考,您的大部分结束 &lt;/label&gt; 标记都有错字,缺少最后一个“l”。

标签: html node.js forms post


【解决方案1】:

您可以为每个标记为checked 的问题添加一个隐藏的单选按钮:

<input type="radio" name="Q4" value="" style="display: none;" checked>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多