根据下拉选择加载新页面
Load a new page based on dropdown selection
我有这个HTML代码,其中有一些链接:
<select name="menu1" id="menu1">
<option value="http://www.espn.com">ESPN</option>
<option value="http://www.cnn.com">CNN</option>
<option value="http://www.abcnews.com">ABC</option>
<option value="http://www.cbsnews.com">CBS</option>
<option value="http://www.foxnews.com">FOX</option>
</select>
和这个JavaScript:
var urlmenu = document.getElementById( 'menu1' );
urlmenu.onchange = function() {
window.open( this.options[ this.selectedIndex ].value );
};
我希望链接在同一页面上打开,但它们当前在一个新窗口中打开。如何使它们在同一页上打开?
您可以使用window.location = "http://www.example.com"
转到另一个链接(信息)
<script type="text/javascript">
var urlmenu = document.getElementById('menu1');
urlmenu.onchange = function () {
window.location = this.options[this.selectedIndex].value;
};
</script>
演示:
<html>
<head>
</head>
<body>
<select name="menu1" id="menu1">
<option value="http://www.espn.com" [1]>ESPN</option>
<option value="http://www.cnn.com">CNN</option>
<option value="http://www.abcnews.com">ABC</option>
<option value="http://www.cbsnews.com">CBS</option>
<option value="http://www.foxnews.com">FOX</option>
</select>
<script type="text/javascript">
var urlmenu = document.getElementById('menu1');
urlmenu.onchange = function() {
window.location = this.options[this.selectedIndex].value;
};
</script>
</body>
</html>
open()
总是打开一个新窗口(或一个新选项卡,具体取决于您的浏览器)。
相反,设置当前窗口的location
:
urlmenu.onchange = function() {
window.location.href = this.options.value;
};
(请注意,您不再需要通过options[selectedIndex]
查找值-<select>
元素本身的value
即可)
var urlmenu = document.getElementById('menu1');
urlmenu.onchange = function() {
document.location.href = this.value;
};
<select name="menu1" id="menu1">
<option>Choose:</option>
<option value="http://www.espn.com">ESPN</option>
<option value="http://www.cnn.com">CNN</option>
<option value="http://www.abcnews.com">ABC</option>
<option value="http://www.cbsnews.com">CBS</option>
<option value="http://www.foxnews.com">FOX</option>
</select>
根据w3:window.open()
打开一个新窗口;window.location.assign()
方法加载一个新文档。
所以使用window.location.assign()
。示例
相关文章:
- 超链接单击以加载新页面并执行JavaScript
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 避免在打印后加载新页面,下一页应从上次打印页面的剩余部分打印 - 点阵打印机
- 在加载新页面时保持选项卡永久处于活动状态
- 更改 URL 并使用 AJAX 获取响应加载新页面的最佳方法是什么
- 在当前页面上动画和加载新页面
- 如何在每次单击链接以加载新页面时停止加载其他资产
- 如何让我的wordpress网站在同一页面中显示博客文章,而无需使用AngularJS加载新页面
- 在WordPress上加载新页面时重新加载标题
- JavaScript 中的函数在通过单击 href url 加载新页面时不会调用
- 获取已更改的下拉选择的值,然后加载新页面
- 验证以检查数据库中是否已存在用户名,而无需加载新页面
- 每次加载新页面时,在iOS webView中运行JS
- 使用javascript在短暂的暂停/延迟后加载新页面
- 使用Javascript/Ajax加载新页面
- Javascript知道何时加载新页面
- JQuery bPopup从弹出窗口中删除旧页面,并在其中加载新页面
- 当按键按下时,如何使用javascript加载新页面