如何在快递中获取复选框的值

时间:2018-01-23 09:47:04

标签: node.js express handlebars.js

在表单提交后,如何在我的快递应用程序中获取复选框的值。这是我的把手表格,带有复选框init。

<form action="/userSpecialisation" id="selectYourSpec">
                <div id="languages">
                    <label for="russian"> <input type="checkbox" id="russian" name="russian">Russian  </label>
                    <label for="english"> <input type="checkbox" id="english" name="english">English  </label>
                    <label for="france"> <input type="checkbox" id="france" name="france">France  </label>
                    <label for="german"> <input type="checkbox" id="german" name="german">German  </label>
                    <label for="spanish"> <input type="checkbox" id="spanish" name="spanish">Spanish  </label>
                    <label for="italian"> <input type="checkbox" id="italian" name="italian">Իտալերեն  </label>
                    <label for="arabian"> <input type="checkbox" id="arabian" name="arabian">Arabic  </label>
                    <label for="persian"> <input type="checkbox" id="persian" name="persian">Farsi  </label>
                    <label for="turkish"> <input type="checkbox" id="turkish" name="turkish">Turkish  </label>
                </div>
            </div>
            <div class="sectorSubDiv">
                <input type="submit" name="sectorSubmit" id="selectorsSub" class="sectorSubmit" value="Հաստատել">
            </div>
        </form> 

我只需要带有“languages”id的div。当用户选中复选框时,我需要获取该标签的语言。作为前端我使用车把模板引擎。作为后端,我正在使用node.js表达框架。有没有办法在没有jquery的情况下解决这个部分?如果现在它也会没问题。 感谢您的帮助和关注,抱歉语言错误。

1 个答案:

答案 0 :(得分:0)

首先,input元素使用不正确。使用现有的内容,您需要执行以下操作:

exports.myHandler = async (req, res) => {
  const {
    russian,
    english,
    france,
    german,
    spanish,
    italian,
    arabian,
    persian,
    turkish
  } = req.body

  // ... rest of logic
}

所有这些值都是undefined,因为您没有指定apply the lookup table属性。所以要修复你的前端,你需要这样的东西:

<input type="checkbox" id="russian" name="languages" value="russian">

请注意,此示例中name设置为languagesvaluerussian。因此,当您有多个name="languages"时,会转换为数组。所以你会这样访问它们:

exports.myHandler = async (req, res) => {
  const { languages } = req.body
  languages.forEach(language => console.log(language))
}

此答案假定您已配置value