我有一个JavaScript小问题。
我的格式如下:
<form method="get" name="basic" id="basicId" action="/page2">
<select id="activity" name="activity" class="form-control inputbox">
<option value="default" class="activities">Select value from dropdown:</option>
<option value="a" class="tests">A</option>
<option value="b" class="tests">B</option>
<option value="c" class="tests">C</option>
</select>
<button type="submit" id="searchBtn" placeholder="Search">Search</button>
</form>
我想做的是从get the value
到select tag
并在page2
中使用它。
例如,如果option为A,则值应为="a"
。
我想使用第2页中的value="a"
。
document.getElementById("output")
:在这里,我想在页面2中打印结果。
我在第二页中尝试做的事情:
<script>
var select = document.getElementById("activity");
var e = select.options[select.SelectedIndex].value;
document.getElementById("output").innerHTML = e;
<!-- This doesn't show anything. -->
var test = document.getElementsbyName("activity").values;
document.getElementById("output").innerHTML = test;
<!-- The output is: function values() { [native code] } -->
var test = document.getElementsByName("activity").value;
document.getElementById("opinion").innerHTML = test;
<!-- The output is: undefined -->
</script>
因此,基本上,按ID或按名称获取select元素不起作用。 获取选择元素ID.value无效。 通过索引获取select元素无效。
有什么想法吗?我确实尝试了任何事情。 我在错误的地方编写代码吗?
我是否必须通过服务器端发送此信息? 附注:我正在使用Node.js和Express编写应用程序,并且正在使用把手。
亲切的问候, G。
答案 0 :(得分:1)
更新:
如果要将值获取到其他页面,则需要从url
获取值,因为将渲染整个新页面,并且旧值将不存在。
如果您在url
中有值,则可以通过此方法获取它
let url = window.location
我认为,您正在尝试获取dropdown
的值
select
始终带有value attribute
,它实际上是您从下拉菜单中选择的值
只要需要选择的选项,您只需寻找select的value
。
在您的情况下,只需附加一个onchange listener
即可进行选择,每当select值更改时就会触发
var select = document.getElementById("activity");
var mySelectValue = select.value // set the default value
select.onchange = function() {
console.log(select.value)
mySelectValue = select.value // update whenever value get changed or new value chosen
}
// Do whatever you want to do with selectvalue
<form method="get" name="basic" id="basicId" action="/page2">
<select id="activity" name="activity" class="form-control inputbox">
<option value="default" class="activities">Select value from dropdown:</option>
<option value="a" class="tests">A</option>
<option value="b" class="tests">B</option>
<option value="c" class="tests">C</option>
</select>
<button type="submit" id="searchBtn" placeholder="Search">Search</button>
</form>
答案 1 :(得分:0)
所以基本上,我已经获取了链接,并尝试检查活动是否有问题。
下面的示例:
if(url.href.indexOf("activity=a") > -1){
activity = "a"
}
document.getElementById("opinion").innerHTML = activity;
当然,在第2页中,我可以看到“ a”这样的结果,太好了! :)