Javascript 表单下拉选择链接
我有一个选择下拉列表,一旦用户指定了品牌,我希望它在两个新的标签中为两个URL链接。我怎样才能做到这一点,最好是先完成onclick事件以提交,然后通过selects运行带有if和else的函数。有什么建议吗?这是我目前的代码Javascript 表单下拉选择链接,javascript,jquery,node.js,forms,Javascript,Jquery,Node.js,Forms,我有一个选择下拉列表,一旦用户指定了品牌,我希望它在两个新的标签中为两个URL链接。我怎样才能做到这一点,最好是先完成onclick事件以提交,然后通过selects运行带有if和else的函数。有什么建议吗?这是我目前的代码 <fieldset> <legend><span class="number">1</span>Select a Brand</legend> <label for="
<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到10000的随机数
Math.round(Math.random()*10000)
级联随机化数字和单词窗口的名称,如window777,uniq的每次调用事件处理函数
"window"+Math.round(Math.random()*10000)
作为每个调用的uniq名称,方法window.open将在当前情况下创建新的窗口选项卡
窗口中的加载项。打开调用
window.open( this.options[ this.selectedIndex ].value, "window"+Math.round(Math.random()*10000));
以上就是假设您有两个URL选项值,例如:
<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>
使用所需的任何参数请尝试解释您所做的操作,而不是在页面上抛出代码。解释添加了您不需要生成唯一的名称,只需使用_blank即可。如果以后需要参考该窗口,请保存window.open的返回值。。。var myWindow=window.openurl,为空;我希望浏览器可以同时打开两个具有不同URL的选项卡。只需在一个函数中使用这段代码两次并设置不同的URL。如何将两个不同的URL作为一个选项放在选择列表中?e、 g.选项的值是两个空格分隔的URL,还是什么?修改上面的问题代码/标记,这样它就有了一个你要做的事情的例子。好的,我在原来的帖子中改进了我的问题。所以值=http://site6.com, http://site6A.com 是非法的-诸如value之类的属性必须设置为单引号字符串。这将是合法的:价值=http://site6.com, http://site6A.com 或者简单地使用一个空格值=http://site6.com http://site6A.comThanks 感谢你的帮助,这一切都成功了!如果我想更改它,以便当他们点击提交按钮或调用操作时,我可以通过创建附加到函数的onClick事件来实现吗?@CodeWeaver。。。如果这能奏效,我会很感激你能接受答案,也许还能投票@CodeWeaver-是的,您可以将onsubmit处理程序添加到表单或将onclick处理程序添加到任何内容。不要使用、更喜欢或使用框架,例如
<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>
<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>