我有一个选择下拉菜单,一旦用户指定了我希望它在2个新网页的2个新标签中链接的品牌。我怎么能这样做,最好是提交onclick事件然后运行一个函数" if和else"通过选择..任何建议?这是我目前的代码。
<fieldset>
<legend><span class="number">1</span>Select a Brand</legend>
<label for="Brand">Brand:</label>
<select id="brandSelect" name="brand_select">
<optgroup label="Grills">
<option value="http://site1.com", "http://site1A.com">DCS</option>
<option value="http://site2.com", "http://site2A.com">Alfresco</option>
<option value="http://site3.com", "http://site3A.com">Viking</option>
<option value="http://site4.com", "http://site4A.com">Fire Magic</option>
<option value="http://site5.com", "http://site5A.com">Lynx</option>
<option value="http://site6.com", "http://site6A.com">Coyote</option>
</optgroup>
</select>
</fieldset>
<button type="submit">Sign Up</button>
<script type="text/javascript">
var urlmenu = document.getElementById( 'brandSelect' );
urlmenu.onchange = function() {
window.open( this.options[ this.selectedIndex ].value );
};
</script>
答案 0 :(得分:0)
window.open( this.options[ this.selectedIndex ].value, "window_"+Math.round(Math.random()*9999) );
给每个窗口一个唯一的名称应该做的伎俩。 http://jsfiddle.net/qx2ppssn/
答案 1 :(得分:0)
尝试定义窗口名称:
此代码用于生成从0到10000的随机数
Math.round(Math.random()*10000)
连接随机化数字和单词“window”的名称,如“window777”,uniq为每个时间调用事件处理函数。
"window"+Math.round(Math.random()*10000)
作为每个调用的名称uniq,方法window.open将创建新窗口(当前情况下的选项卡)
在window.open调用中加入
window.open( this.options[ this.selectedIndex ].value, "window"+Math.round(Math.random()*10000));
这就是全部
答案 2 :(得分:0)
假设您有两个网址供您选择,例如:
<label for="Brand">Brand:</label>
<select id="brandSelect" name="brand_select">
<optgroup label="Grills">
<option value="http://site1.com http://site1A.com">DCS</option>
<option value="http://site2.com http://site2A.com">Alfresco</option>
<option value="http://site3.com http://site3A.com">Viking</option>
</optgroup>
</select>
您可以通过拆分它们从value
中提取两个网址,然后为每个网址打开一个窗口/标签。像
<script type="text/javascript">
var urlmenu = document.getElementById( 'brandSelect' );
urlmenu.onchange = function() {
var urls = this.options[ this.selectedIndex ].value.split(' ');
urls.forEach( function(url) {
window.open( url /*, '_blank'*/); // add a window name if desired
});
};
</script>
所需的任何参数