使用express获取节点中所选选项的索引.js



我需要使用 express 获取所选对象的索引以在应用程序中控制台它.js示例.html

<form id="tableForm" action="getJson">
        <select class="example" name="example">
              <option name="table1" value="1">Table 1</option>
              <option name="table2" value="2">Table 2</option>
              <option name="table3" value="3">Table 3</option>
        </select>
    </form>

应用.js

var express = require('express'),
app = express();
app.use(express.bodyParser());
 app.get('/', function(req, res){
  res.sendfile('views/index.html');
});
app.post('/getJson', function (req, res) {
   console.log(req.body.example);
});
app.listen(3000, function(){
    console.log('Server running at port 3000: http://127.0.0.1:3000')
});

这将输出所选选项的值而不是索引。

您应该在<option>标签上查找selected属性。此外,<option>标记不支持属性attribute。您无法从<select>标记获取索引。您应该为此<select>创建一个包含索引和值的哈希表。然后,当您获取值时,从哈希表中获取此值的索引。类似的东西。举个例子。

<form id="tableForm" action="getJson">
    <select class="example" name="example">
          <option value="Berlin">Berlin</option>
          <option value="Moscow">Moscow</option>
          <option value="Kyiv">Kyiv</option>
    </select>
</form>
const selectHashtable = {
    'Berlin': 1,
    'Moscow': 2,
    'Kyiv': 3
};
// for example req.body.example = 'Kyiv';
// you call 
selectHashtable[req.body.example]; // console.log => 3

最新更新