我有这个按钮:
<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填充复选框的值抛出一个循环。
答案 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