下拉菜单需要转到提交时分配的值

Posted

技术标签:

【中文标题】下拉菜单需要转到提交时分配的值【英文标题】:Dropdown needs to go to value assigned on submit 【发布时间】:2018-12-01 04:21:41 【问题描述】:

“document.location”在单击后立即运行它。我需要它在提交后运行。 . .有什么建议吗?

供参考:First Tennessee Bank

<form>
<select name="mydropdown" class="styled" onchange="document.location = this.value" value="GO">
        <option value="http://www.google.com">Google</option>
        <option value="http://fb.com">Facebook</option>
        <option value="http://youtube.com">Youtube</option>
</select>
<input type=submit>
</form>

【问题讨论】:

问题标题中的单引号是什么意思? 你的代码中没有document.location 这是 .submit 所在的位置。 从选择中移除更改监听器,并在表单中添加一个提交监听器。 @Teemu 这似乎不起作用。 jsfiddle.net/hPdm3/63 【参考方案1】:

当他们单击提交时,这将执行您想要执行的操作,它将执行他们选择的位置。

function go()
var x =document.getElementsByClassName('styled')[0]
document.location = x.options[x.selectedIndex].value
<form>
  <select name="mydropdown" class="styled" c value="GO">
    <option value="http://www.google.com">Google</option>
    <option value="http://fb.com">Facebook</option>
    <option value="http://youtube.com">Youtube</option>
  </select>
  <input type="button" value="Go" onclick="go()">
</form>

【讨论】:

无法正常工作,待提交会阻止对location 的更改。请注意,沙盒堆栈片段在这种情况下的工作方式有所不同(它无论如何都不会提交表单,因此location 更改不会被阻止)。 是的,或者取消默认操作,省略表单,在服务器上重定向... 它不会提交表单,尽管 hmm 可以在表单和 document.getElementById("myForm").submit(); 中添加一个 ID。 然后重定向不起作用。完成提交和重定向的唯一方法是在服务器端重定向,或者使用 AJAX 完成所有操作。 @Scath Brillant,谢谢!

以上是关于下拉菜单需要转到提交时分配的值的主要内容,如果未能解决你的问题,请参考以下文章

如何将HTML中下拉菜单和文本区域的值传递到java中的

需要在不使用 onChange 回调的情况下获取下拉菜单的值 - (material-ui reactjs)

asp有两个下拉菜单,是二级联动菜单

Twitter 引导拆分下拉菜单

CSS 使用CSS3媒体屏幕从水平菜单转到下拉菜单

layui 表单 select 下拉菜单 怎么设置第二个为加载选中默认值