自动填充HTML字段 - 使用NodeJs& MySQL的

时间:2016-03-16 17:08:23

标签: javascript html mysql node.js ejs

我目前正在使用NodeJS和mySQL进行项目,并且正在学习。 我努力寻找答案的一件事是如何在选择下拉选项时预填充某些字段。

在我进一步解释之前,这是我的代码。我开始时可能会做错了。我只是在制作片段而不是压倒这个问题。

这个例子是获取当前值的GET(var db = require ...):

router.get('/', function(req, res) {
db('SELECT * FROM clients', function (err, result) {
        db('SELECT * FROM staff', function (err, result2) {
            .......
                      if (!err) {
                         res.render('page', {
                             title: 'Page',
                             clients: result,  staff: result2,...
                                        });
                                    }
                              else
                              console.log('Error while performing query');

我确定我做错了的一件事是我在查询后用来进行查询的方法。但是,我现在要克服这个问题,除非有人在那里有任何建议,这将是伟大的。我最大的问题是:  目前我正在将信息输入到下拉框中,然后这些在提交时发布,这很好。许多下拉列表都是独立的。但是大约有2/3的下拉菜单与文本框有关,我想看看如何让他们在选择名称时自动填充。这是一些当前HTML //。ejs)

的示例
<div class = "col-md-2">
            <select class="form-control" id="clientName"  required >
                <option></option>
                <% clients.forEach(function (clients) { %>
                <option> <%= clients.FirstName %> <%=clients.LastName %> <% }) %> </option>
            </select>
        </div>

.....

<div class = "col-md-2">
            <label>PASS ID: </label>
        </div>
        <div class = "col-md-2">
            <input type="text" class="form-control" name="passID" id="passID" required>
            <% clients.PassID %>
            </input>
        </div>

我想要发生的是,在选择客户名称时,会在文本框中输入他们的ID。 (我上次尝试了那里<% clients.PassID %>,但它没有用,所以我就离开了。)很可能我是如何在GET上发送它的,或者我可以在前面做任何事情结束链接选择字段?是我在GET中发送信息在页面上是静态的吗?

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

  • 您需要在select上添加onchange以触发更改。您需要Ajax来预填充数据库中的详细信息。

    <select class="form-control" id="clientName"  onchange="function()" required >