尝试将选择值发送到其他页面时变得不确定

时间:2019-04-20 18:48:59

标签: javascript html

我有一个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 valueselect 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。

2 个答案:

答案 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”这样的结果,太好了! :)