表格下拉选择链接

时间:2015-02-25 20:47:23

标签: javascript jquery node.js forms

我有一个选择下拉菜单,一旦用户指定了我希望它在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>

3 个答案:

答案 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>

使用window.open(...)

所需的任何参数