如何将选定复选框的值发送到app.get路由

时间:2015-01-15 17:38:13

标签: javascript html node.js email express

我有这个按钮:

<a type="button" class="sendEmail" href="/email/new/">Enviar Email</a>

我有多个复选框,其中包含值内的电子邮件:

<input type="checkbox" class="checkbox" value="myemail@gmail.com"/>
<input type="checkbox" class="checkbox" value="other@gmail.com"/>
<input type="checkbox" class="checkbox" value="your@gmail.com"/>
<input type="checkbox" class="checkbox" value="something@gmail.com"/>
<input type="checkbox" class="checkbox" value="nothing@gmail.com"/>
<input type="checkbox" class="checkbox" value="stackoverflow@gmail.com"/>

我需要将电子邮件发送到应用获取 - &gt; /电子邮件/新/电子邮件

为此,我创建了以下代码:

        $(document).ready(function () {

            $(".sendEmail").click(function() {

                var emails = [];
                var checkboxes = document.getElementsByClassName("checkbox");


                for (var i = checkboxes.length -1 ; i>= 0; i--) {
                    if (checkboxes[i].type === "checkbox" && checkboxes[i].checked) {
                          emails.push(checkboxes[i].value);
                    }
                }

                var link = "/email/new/" + emails;
                $(this).attr("href", link);
            });
        });

正在工作,但是......这是正确的解决方案吗?有什么表达对我有帮助吗?

只是寻求帮助你们都明白了一切,这是我的路线:

app.get('/email/new/:param, function(req, res) {
  var emails = req.param("param");
  res.send(emails);
});

OBS:我正在使用EJS填充复选框的值抛出一个循环。

1 个答案:

答案 0 :(得分:1)

为什么要使用pathParam?为什么不使用queryParam?

这是一个简单的例子:

$(document).ready(function () {

$(".sendEmail").click(function() {

    var emails = [];
    var checkboxes = document.getElementsByClassName("checkbox");


    for (var i = checkboxes.length -1 ; i>= 0; i--) {
        if (checkboxes[i].type === "checkbox" && checkboxes[i].checked) {
            emails.push(checkboxes[i].value);
        }
    }

    var link = "/email/new?";

    for(var i = 0; i <= emails.length; i++){
        link += "emails=" + emails[i] + "&";
    }

    $(this).attr("href", link);
});
});

app.get('/email/new', function(req, res) {
  var emails = req.query.emails;
  res.send(emails);
});

文档 - &gt; Express request query