2017-08-07 136 views
1

我的代码:如何使用ejs获取节点js中复选框的值?

HTML文件:

<form action="/form" method="post" enctype="multipart/form-data"> 
     Name: <input type="text" name="name" /><br> 
     Email: <input type="email" name="email" /> <br> 
     Age: <input type="number" name="age" /> <br> 
     Address: <textarea name="address" rows="10" cols="15"> </textarea><br> 
     Category: <select name="cat"> 
        <option value="1">Php</option> 
        <option value="2">NodeJs</option> 
        <option value="3">jQuery</option> 
       </select><br> 
     Gender: <input type="radio" name="gen" value="m"/> Male 
       <input type="radio" name="gen" value="f"/> Female 
     Hobby: <input type="checkbox" name="hob[]" value="cri"/> cricket 
       <input type="checkbox" name="hob[]" value="fot"/> football 
       <input type="checkbox" name="hob[]" value="swi"/> swimming 
    <input type="submit" value="Submit"> 
</form> 

输出控制台的NodeJS:

{ name: 'My name', 
    email: '[email protected]', 
    age: '23', 
    address: 'xyz loaacation pqr city ', 
    cat: '1', 
    gen: 'm', 
    'hob[]': 'cri' } 

我使用强大的文件上传,并与领域提供和文件选项。 现在所有上述领域给我提供适当的输出时提供的数据除了复选框,我不知道如何或如何做得到输出。

获得上面的输出我刚输入 - >console.log(fields);
,您可以通过以下方式访问酒店: - fields.field_name。但它不适用于复选框。

我想要的是获取复选框值显示给用户。复选框可以选择多个值。

谢谢。

回答

0

您可以使用括号表示fields['hob[]']来访问它。

+0

没有,没有工作,它只显示最后选择的值。所以如果我选择板球和足球它显示fot。感谢您的尝试 – Zaheen

+0

嗯,当选择多个时,我会收到一系列检查值。但我没有使用多部分。也许这就是差异。在最糟糕的情况下,您可以为每个复选框使用不同的名称。 –

+0

我喜欢为每个复选框使用不同名称的想法。但是如果我需要基于数据库值生成复选框,那么这将会很糟糕。但我仍然想使用不同名称的想法。谢谢 – Zaheen