下拉菜单需要转到提交时分配的值
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,谢谢!以上是关于下拉菜单需要转到提交时分配的值的主要内容,如果未能解决你的问题,请参考以下文章