我正在通过Express服务器运行的Node中创建一个Web应用程序。 我有EJS文件作为我的观点和Javascript,因为我的大脑喂养视图。
我试图获取用户在视图中选择的下拉列表的值,并将其传递回Javascript以用作函数中的参数:
index.ejs
<form>
<select id="projDrop">
<% var eachProject = projects.split('|'); %>
<% for (var i = 1; i < projNo + 1; i++) { %>
<option value="<%= eachProject[i]; %>"><%= eachProject[i]; %></option>
<% } %>
</select>
<select id="filtDrop">
<% var eachFilter = filters.split('|'); %>
<% for (var i = 1; i < filtNo + 1; i++) { %>
<option value="<%= eachFilter[i]; %>"><%= eachFilter[i]; %></option>
<% } %>
</select>
<input type="submit" value="Submit" onclick="jira.searchJira('filter = ' + document.getElementById('filtDrop').value + ''
, results, function(error, data){})" />
</form>
index.js
jira.searchJira('filter = "???????"', results, function(error, data) { //search for saved filter
if (error) {
next(new Error(error));
}
allIssues = data.issues; //stores all issues
});
我的下拉菜单是一种形式。我希望下拉列表的值是该函数的参数列表中的参数('filter = "???????"', ...
。正如您所看到的那样,我已尝试通过onclick()
在EJS文件中查看document.getElementById()
,但这不会返回我认为的任何内容,因为我尝试调用的函数如果不在EJS文件中。
我知道JS可以与EJS交谈,但我想知道是否有可能以相反的方式进行。