2015-06-11 72 views
0

我不確定如何從下拉列表中獲取用戶選擇的項目。我的玉代碼是很短:用node.js解析jade窗體

extends layout 

block content 
    p This is the CSV page 
    p <select> 
    <option value="domain">Domain</option> 
    <option value="test">Test</option> 
    <option value="random">Random</option> 
    <option value="databases">Databases</option> 
    </select> 
    form(action="/csvuploader", method="post", enctype="multipart/form-data") 
    label(for="payload") Select a file to upload: 
    input#payload(type="file" name="myFile" accept="/*") 
    br 
    button#upload Upload 

使用在文件上傳表單我已經成功保存的文件的「動作」部分引用我的/ csvuploader文件中的一些打雜的方法。我現在怎樣才能訪問從它之前的下拉列表中選擇的值?

道歉,如果這聽起來像一個非常愚蠢的問題,我是新的node.js和形式。謝謝。

回答

0

您需要的<select>移動到<form>元素中,也給它一個名字:

form(action="/csvuploader", method="post", enctype="multipart/form-data") 
    p This is the CSV page 
    p 
    select(name = "dropdown") 
     option(value="domain") Domain 
     option(value="test") Test 
     option(value="random") Random 
     option(value="databases") Databases 
    label(for="payload") Select a file to upload: 
    input#payload(type="file" name="myFile" accept="/*") 
    br 
    button#upload Upload 

之後,你就可以從req.body.dropdown讀下拉值。

+0

感謝您的回答,但req.body.dropdown在控制檯中返回undefined。與我使用的公務員有什麼關係? – user2412643

+0

@ user2412643我以爲你會使用['express-busboy'](https://www.npmjs.com/package/express-busboy),它會填充'req.body'。如果你使用「普通」公務員,你需要使用'busboy.on('field',...)'。 – robertklep

+0

我正在使用connect-busboy。唯一的問題是,我已經有'req.busboy.on('file',...'保存從窗體傳遞來的文件。這會使事情變得複雜嗎?@robertklep – user2412643